From laffer1 at midnightbsd.org Tue Dec 31 19:02:56 2019 From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org) Date: Tue, 31 Dec 2019 19:02:56 -0500 (EST) Subject: [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. Message-ID: <202001010002.00102uiT091689@stargazer.midnightbsd.org> 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++) { From laffer1 at midnightbsd.org Tue Dec 31 19:05:40 2019 From: laffer1 at midnightbsd.org (laffer1 at midnightbsd.org) Date: Tue, 31 Dec 2019 19:05:40 -0500 (EST) Subject: [Midnightbsd-cvs] src [12293] trunk/lib/libmport/bundle_read_install_pkg.c: fix issues with absolute path sample files. Message-ID: <202001010005.00105eD2092477@stargazer.midnightbsd.org> Revision: 12293 http://svnweb.midnightbsd.org/src/?rev=12293 Author: laffer1 Date: 2019-12-31 19:05:39 -0500 (Tue, 31 Dec 2019) Log Message: ----------- fix issues with absolute path sample files. Modified Paths: -------------- trunk/lib/libmport/bundle_read_install_pkg.c Modified: trunk/lib/libmport/bundle_read_install_pkg.c =================================================================== --- trunk/lib/libmport/bundle_read_install_pkg.c 2020-01-01 00:02:55 UTC (rev 12292) +++ trunk/lib/libmport/bundle_read_install_pkg.c 2020-01-01 00:05:39 UTC (rev 12293) @@ -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++) {