aboutsummaryrefslogtreecommitdiff
path: root/libbb/appletlib.c
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2024-07-07 12:51:51 +0100
committerRon Yorston <rmy@pobox.com>2024-07-07 13:04:40 +0100
commita694cb601a92a1e4eded89f4c13793c9d12e33b6 (patch)
treef7cda76d1343e5c966b7ad80d3ab53441322b6e5 /libbb/appletlib.c
parentf4fc4fb51fcba40a5db81861629fff27d73bed85 (diff)
downloadbusybox-w32-a694cb601a92a1e4eded89f4c13793c9d12e33b6.tar.gz
busybox-w32-a694cb601a92a1e4eded89f4c13793c9d12e33b6.tar.bz2
busybox-w32-a694cb601a92a1e4eded89f4c13793c9d12e33b6.zip
win32: code shrink system drive handling
A previous commit (e3bfe3695) revised the use of getsysdir() to obtain the system directory, and hence the system drive. See the commit message for the history to that point. Further improvements are possible: - Remove getsysdir() and push the calls to GetSystemDirectory() down into get_system_drive() and get_proc_addr(). - Check the return value of GetSystemDirectory(). It's unlikely to fail, but better safe than sorry. - Instead of making all callers of get_system_drive() check for a NULL return value always return a non-NULL pointer. If the drive can't be found an empty string is returned instead (which is what the callers were using anyway). - The function need_system_drive() was only used in one place (in httpd). Move the code there and remove the function. - Use concat_path_file() where possible. Saves 76-144 bytes.
Diffstat (limited to 'libbb/appletlib.c')
-rw-r--r--libbb/appletlib.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libbb/appletlib.c b/libbb/appletlib.c
index 54be59f2d..97dfb3df8 100644
--- a/libbb/appletlib.c
+++ b/libbb/appletlib.c
@@ -781,7 +781,7 @@ static void install_links(const char *busybox, int use_symbolic_links,
781 unsigned i; 781 unsigned i;
782 int rc; 782 int rc;
783# if ENABLE_PLATFORM_MINGW32 783# if ENABLE_PLATFORM_MINGW32
784 const char *sd = NULL; 784 const char *sd = "";
785 785
786 if (custom_install_dir != NULL) { 786 if (custom_install_dir != NULL) {
787 bb_make_directory(custom_install_dir, 0755, FILEUTILS_RECUR); 787 bb_make_directory(custom_install_dir, 0755, FILEUTILS_RECUR);
@@ -789,7 +789,7 @@ static void install_links(const char *busybox, int use_symbolic_links,
789 else { 789 else {
790 sd = get_system_drive(); 790 sd = get_system_drive();
791 for (i=1; i<ARRAY_SIZE(install_dir); ++i) { 791 for (i=1; i<ARRAY_SIZE(install_dir); ++i) {
792 fpc = xasprintf("%s%s", sd ?: "", install_dir[i]); 792 fpc = concat_path_file(sd, install_dir[i]);
793 bb_make_directory(fpc, 0755, FILEUTILS_RECUR); 793 bb_make_directory(fpc, 0755, FILEUTILS_RECUR);
794 free(fpc); 794 free(fpc);
795 } 795 }
@@ -802,7 +802,7 @@ static void install_links(const char *busybox, int use_symbolic_links,
802 802
803 for (i = 0; i < ARRAY_SIZE(applet_main); i++) { 803 for (i = 0; i < ARRAY_SIZE(applet_main); i++) {
804# if ENABLE_PLATFORM_MINGW32 804# if ENABLE_PLATFORM_MINGW32
805 fpc = xasprintf("%s%s/%s.exe", sd ?: "", 805 fpc = xasprintf("%s%s/%s.exe", sd,
806 custom_install_dir ?: install_dir[APPLET_INSTALL_LOC(i)], 806 custom_install_dir ?: install_dir[APPLET_INSTALL_LOC(i)],
807 appname); 807 appname);
808# else 808# else