[Midnightbsd-cvs] src [12292] stable/1.2/lib/libmport/bundle_read_install_pkg.c: Fix some installation problems with samples that have an absolute prefix.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Tue Dec 31 19:02:56 EST 2019


Revision: 12292
          http://svnweb.midnightbsd.org/src/?rev=12292
Author:   laffer1
Date:     2019-12-31 19:02:55 -0500 (Tue, 31 Dec 2019)
Log Message:
-----------
Fix some installation problems with samples that have an absolute prefix.  (firebird-server)

Modified Paths:
--------------
    stable/1.2/lib/libmport/bundle_read_install_pkg.c

Modified: stable/1.2/lib/libmport/bundle_read_install_pkg.c
===================================================================
--- stable/1.2/lib/libmport/bundle_read_install_pkg.c	2019-11-13 06:04:36 UTC (rev 12291)
+++ stable/1.2/lib/libmport/bundle_read_install_pkg.c	2020-01-01 00:02:55 UTC (rev 12292)
@@ -236,8 +236,10 @@
 	char nonSample[FILENAME_MAX * 2];
 	char secondFile[FILENAME_MAX];
 
- 	strlcpy(nonSample, file, FILENAME_MAX * 2);
-	(void) snprintf(nonSample, FILENAME_MAX, "%s%s/%s", mport->root, cwd, file);
+	if (file[0] != '/')
+		(void) snprintf(nonSample, FILENAME_MAX, "%s%s/%s", mport->root, cwd, file);
+	else
+		strlcpy(nonSample, file, FILENAME_MAX * 2);
 	char** fileargv = parse_sample(nonSample);
 
 	if (fileargv[1] != '\0') {
@@ -497,7 +499,11 @@
 				if (mport_bundle_read_next_entry(bundle, &entry) != MPORT_OK)
 					goto ERROR;
 
-				(void) snprintf(file, FILENAME_MAX, "%s%s/%s", mport->root, cwd, e->data);
+				if (e->data[0] == '/') {
+					(void) snprintf(file, FILENAME_MAX, "%s", e->data);
+				} else {
+					(void) snprintf(file, FILENAME_MAX, "%s%s/%s", mport->root, cwd, e->data);
+				}
 
 				if (e->type == ASSET_SAMPLE)
 					for (int ch = 0; ch < FILENAME_MAX; ch++) {



More information about the Midnightbsd-cvs mailing list