diff options
Diffstat (limited to 'libbb/appletlib.c')
-rw-r--r-- | libbb/appletlib.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libbb/appletlib.c b/libbb/appletlib.c index 705829cb0..a934f11bb 100644 --- a/libbb/appletlib.c +++ b/libbb/appletlib.c | |||
@@ -839,6 +839,22 @@ int main(int argc UNUSED_PARAM, char **argv) | |||
839 | applet_name = argv[0]; | 839 | applet_name = argv[0]; |
840 | if (applet_name[0] == '-') | 840 | if (applet_name[0] == '-') |
841 | applet_name++; | 841 | applet_name++; |
842 | if (ENABLE_PLATFORM_MINGW32) { | ||
843 | const char *applet_name_env = getenv("BUSYBOX_APPLET_NAME"); | ||
844 | if (applet_name_env && *applet_name_env) { | ||
845 | applet_name = applet_name_env; | ||
846 | unsetenv("BUSYBOX_APPLET_NAME"); | ||
847 | } | ||
848 | else { | ||
849 | int i, len = strlen(applet_name); | ||
850 | if (len > 4 && !strcmp(applet_name+len-4, ".exe")) { | ||
851 | len -= 4; | ||
852 | argv[0][applet_name-argv[0]+len] = '\0'; | ||
853 | } | ||
854 | for (i = 0; i < len; i++) | ||
855 | argv[0][applet_name-argv[0]+i] = tolower(applet_name[i]); | ||
856 | } | ||
857 | } | ||
842 | applet_name = bb_basename(applet_name); | 858 | applet_name = bb_basename(applet_name); |
843 | 859 | ||
844 | parse_config_file(); /* ...maybe, if FEATURE_SUID_CONFIG */ | 860 | parse_config_file(); /* ...maybe, if FEATURE_SUID_CONFIG */ |