diff options
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | shell/ash.c | 6 |
2 files changed, 7 insertions, 1 deletions
@@ -18,5 +18,5 @@ Then just `make`. | |||
18 | - Don't do wild things with Windows drive or UNC notation. | 18 | - Don't do wild things with Windows drive or UNC notation. |
19 | - Wildcard expansion is disabled by default, though it can be turned on at compile time. This only affects command line arguments to the binary: the BusyBox shell has full support for wildcards. | 19 | - Wildcard expansion is disabled by default, though it can be turned on at compile time. This only affects command line arguments to the binary: the BusyBox shell has full support for wildcards. |
20 | - Handling of users, groups and permissions is totally bogus. The system only admits to knowing about the current user and always returns the same hardcoded uid, gid and permission values. | 20 | - Handling of users, groups and permissions is totally bogus. The system only admits to knowing about the current user and always returns the same hardcoded uid, gid and permission values. |
21 | - Windows XP and Windows Server 2003 sometimes have trouble with forward slashes in environment variables. The -X shell option (which must be the first argument) prevents busybox-w32 from changing backslashes to forward slashes. | 21 | - Some crufty old Windows code (Windows XP, cmd.exe) doesn't like forward slashes in environment variables. The -X shell option (which must be the first argument) prevents busybox-w32 from changing backslashes to forward slashes. If Windows programs don't run from the shell it's worth trying it. |
22 | - Currently only 32-bit builds of BusyBox work. If you want to install 32-bit BusyBox in a system directory on a 64-bit version of Windows you should put it in `C:\Windows\SysWOW64`, not `C:\Windows\System32`. On 64-bit systems the latter is for 64-bit binaries. | 22 | - Currently only 32-bit builds of BusyBox work. If you want to install 32-bit BusyBox in a system directory on a 64-bit version of Windows you should put it in `C:\Windows\SysWOW64`, not `C:\Windows\System32`. On 64-bit systems the latter is for 64-bit binaries. |
diff --git a/shell/ash.c b/shell/ash.c index ef3f7933a..349e9deb8 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -13475,6 +13475,12 @@ init(void) | |||
13475 | for (start = *envp;start < end;start++) | 13475 | for (start = *envp;start < end;start++) |
13476 | *start = toupper(*start); | 13476 | *start = toupper(*start); |
13477 | 13477 | ||
13478 | /* skip conversion of variables known to cause problems */ | ||
13479 | if ( strncmp(*envp, "SYSTEMROOT=", 11) == 0 || | ||
13480 | strncmp(*envp, "COMSPEC=", 8) == 0 ) { | ||
13481 | continue; | ||
13482 | } | ||
13483 | |||
13478 | /* convert backslashes to forward slashes */ | 13484 | /* convert backslashes to forward slashes */ |
13479 | if (!xp) { | 13485 | if (!xp) { |
13480 | for ( ++end; *end; ++end ) { | 13486 | for ( ++end; *end; ++end ) { |