<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/win32, 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-13T13:58:01+00:00</updated>
<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>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>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>
<entry>
<title>win32: update strptime(3) implementation</title>
<updated>2020-08-03T15:09:38+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-08-03T15:09:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=597dc43c9c8dad0daf9d4d0648e3e83c352b4ffd'/>
<id>urn:sha1:597dc43c9c8dad0daf9d4d0648e3e83c352b4ffd</id>
<content type='text'>
Update to latest code from gnulib.  This adds a '%q' (quarter) field
descriptor.

Remove the 'neg' variable from the code to handle the '%z' (timezone)
field descriptor.  Since our struct tm lacks a tm_gmtoff member '%z' is
only supported "for reasons of symmetry".  Since the computed value is
never used there's no need to negate it.
</content>
</entry>
<entry>
<title>win32: code shrink kill(2)</title>
<updated>2020-07-25T11:48:13+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-07-25T11:48:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=cfa888eb571d92d4de02b406f0dad15e4fa26d19'/>
<id>urn:sha1:cfa888eb571d92d4de02b406f0dad15e4fa26d19</id>
<content type='text'>
- Drop exit_code argument from kill_SIGTERM_by_handle()
- Pass signal number rather than exit code to other functions
- Merge kill_SIGKILL() and kill_SIGTEST()

Saves 112 bytes.
</content>
</entry>
<entry>
<title>win32: update link to Microsoft document on command-line arguments</title>
<updated>2020-07-21T07:15:51+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-07-21T07:15:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=2974f8f44cdb029f040cc2a975592daf965817af'/>
<id>urn:sha1:2974f8f44cdb029f040cc2a975592daf965817af</id>
<content type='text'>
</content>
</entry>
<entry>
<title>win32: import strndup from gnulib</title>
<updated>2020-07-09T13:01:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-07-09T13:01:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=251c93fdeca77a7bed0075bcd74d55ad741f7bbb'/>
<id>urn:sha1:251c93fdeca77a7bed0075bcd74d55ad741f7bbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>win32: return raw file attributes in struct mingw_stat</title>
<updated>2020-07-09T07:48:52+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2020-07-09T07:48:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=ea3041f90d719e1f14c6149759a56af78dbae101'/>
<id>urn:sha1:ea3041f90d719e1f14c6149759a56af78dbae101</id>
<content type='text'>
Until now the emulated stat(2) system calls have only returned a
synthesised Unix-style mode value.  Also return the raw Windows
file attributes.
</content>
</entry>
</feed>
