<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32, branch fix_backslash</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=fix_backslash</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=fix_backslash'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2020-08-19T09:00:27+00:00</updated>
<entry>
<title>ls: allow backslashes to be replaced in displayed paths</title>
<updated>2020-08-19T09:00:27+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-19T08:47:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d13ee992a2ee4be395f926913e33b18bf8ef1383'/>
<id>urn:sha1:d13ee992a2ee4be395f926913e33b18bf8ef1383</id>
<content type='text'>
Normally 'ls' displays paths exactly as the user enters them:

   $ ls .//file
   .//file

In busybox-w32 paths using backslash as a separator are displayed in
a form that can't be reused as input to the shell:

   $ ls .\\file
   .\file

Allow backslashes to be replaced with forward slashes if the
environment variable BB_FIX_BACKSLASH is set to 1.

See GitHub issue #196.
</content>
</entry>
<entry>
<title>busybox: create custom installation directory</title>
<updated>2020-08-15T08:37:06+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-15T08:37:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b95ed10bd31d57b1ca1fac0de273bbe98903d0b8'/>
<id>urn:sha1:b95ed10bd31d57b1ca1fac0de273bbe98903d0b8</id>
<content type='text'>
If a custom installation directory is specified try to create it.
Don't worry if we can't, we'll find out when the links fail.
</content>
</entry>
<entry>
<title>busybox: add option to install to Unix-style paths</title>
<updated>2020-08-14T12:35:10+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-14T12:35:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c775e9de197afe1cc0907f559f7cab36d52c93fa'/>
<id>urn:sha1:c775e9de197afe1cc0907f559f7cab36d52c93fa</id>
<content type='text'>
The command 'busybox --install -u' installs links to Unix-style
paths in the system drive.
</content>
</entry>
<entry>
<title>win32: use built-in applets for non-existent binaries with Unix-style paths</title>
<updated>2020-08-13T13:58:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-13T13:27:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=41ef232fc522d91f29931ea4ee547432ca8899ee'/>
<id>urn:sha1:41ef232fc522d91f29931ea4ee547432ca8899ee</id>
<content type='text'>
Shell scripts moved from Unix may contain hard-coded paths to
binaries such as /bin/sh.  A recent commit made it possible to
execute such binaries reliably, but that does require them to be
installed.  As an alternative solution:  if a binary with a
standard Unix path prefix can't be found but is available as a
built-in applet, run the applet.

Add the function unix_path() to detect paths starting with /bin,
/usr/bin, /sbin or /usr/sbin.

Use this function in:

- the 'which' applet
- shellexec(), describe_command() and find_command() in ash
- mingw_spawn_1()

See GitHub issue #195.
</content>
</entry>
<entry>
<title>httpd: code shrink</title>
<updated>2020-08-13T13:58:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-13T13:13:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=16e5930a65f3c7c570b8a0dda8daa19ab4792fa2'/>
<id>urn:sha1:16e5930a65f3c7c570b8a0dda8daa19ab4792fa2</id>
<content type='text'>
Use the new need_system_drive() function in httpd.  Saves 16 bytes.
</content>
</entry>
<entry>
<title>win32: handle Unix-style absolute paths for executables</title>
<updated>2020-08-13T13:58:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-13T12:56:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=6059723900f2af1fbd394c457d1feae342e344f6'/>
<id>urn:sha1:6059723900f2af1fbd394c457d1feae342e344f6</id>
<content type='text'>
As noted in commit 548ec7045 (win32: interpret absolute paths as
relative to %SYSTEMDRIVE%) a path starting with a '/' in the Unix
world is treated as relative to the current drive by Windows.
To avoid ambiguity that commit considered certain such paths to
be relative to %SYSTEMDRIVE%.  Extend this to paths representing
executables.

Add the functions need_system_drive() and auto_add_system_drive()
to detect the need for a system drive prefix and to add it if
necessary.  Use these functions in:

- the 'which' applet
- the find_executable() function
- tab-completion code
- PATH look-up, shellexec(), describe_command() and find_command() in ash
- parse_interpreter() and mingw_spawn_1()

With these changes executable paths starting with a slash are
handled consistently, whatever the current drive.
</content>
</entry>
<entry>
<title>win32: use a static buffer in get_system_drive()</title>
<updated>2020-08-13T13:58:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-13T10:43:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7d639339e0c46311f8873d560e6f168e71473cd9'/>
<id>urn:sha1:7d639339e0c46311f8873d560e6f168e71473cd9</id>
<content type='text'>
Allocate static storage for the system drive string instead of
making a new allocation on every call.  This is easier to manage.

Adds 16 bytes.
</content>
</entry>
<entry>
<title>win32: code shrink</title>
<updated>2020-08-13T13:58:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-13T10:36:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=258ad6a1d52f1811f9de1d6b976f3797f5b31a2b'/>
<id>urn:sha1:258ad6a1d52f1811f9de1d6b976f3797f5b31a2b</id>
<content type='text'>
Add a new function, has_path(), to detect that an executable name
doesn't require a path look-up.

Also, since is_absolute_path() is now only used in shell/ash.c move
its definition there from include/mingw.h.

Saves 128 bytes.
</content>
</entry>
<entry>
<title>which: handle paths of form 'c:path'</title>
<updated>2020-08-13T13:58:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-13T10:19:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5a48290d9bdb827657114c24aa75c67bb1bd0ea7'/>
<id>urn:sha1:5a48290d9bdb827657114c24aa75c67bb1bd0ea7</id>
<content type='text'>
Add another case where paths of the form 'c:path' need special
treatment.

Adds 16 bytes.
</content>
</entry>
<entry>
<title>win32: move code to fork (de)compressor to a function</title>
<updated>2020-08-05T14:33:12+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-05T14:33:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=4319228f3dcf3a5f941140482c30cca227c6ed0b'/>
<id>urn:sha1:4319228f3dcf3a5f941140482c30cca227c6ed0b</id>
<content type='text'>
Use a new common function, mingw_fork_compressor(), to implement
fork_transformer() in open_transformer.c and vfork_compressor()
in tar.c.

Saves 160 bytes.
</content>
</entry>
</feed>
