<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/findutils, branch long_paths</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=long_paths</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=long_paths'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2024-12-31T08:21:12+00:00</updated>
<entry>
<title>win32: fix compilation with FEATURE_SH_NOFORK disabled</title>
<updated>2024-12-31T08:21:12+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-12-31T08:21:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=0e8bc6527c9d4b9af17e9b0f759b1ad12ae1bc35'/>
<id>urn:sha1:0e8bc6527c9d4b9af17e9b0f759b1ad12ae1bc35</id>
<content type='text'>
Compiling with FEATURE_SH_NOFORK disabled resulted in an error and
a warning.  Fixing these doesn't change the default build.
</content>
</entry>
<entry>
<title>xargs: allow for quotes in commands on Windows</title>
<updated>2024-12-30T13:07:47+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-12-30T12:58:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=dc3ee8e0523a4f651f3012ae1f5a181548187709'/>
<id>urn:sha1:dc3ee8e0523a4f651f3012ae1f5a181548187709</id>
<content type='text'>
When xargs limited the length of the command lines it generated it
didn't allow for the quoting Windows spawn() introduces.

Properly account for any additional characters required when a
command is spawned on Windows.  If the command is a NOFORK applet
this isn't necessary.

Adds 384-464 bytes.
</content>
</entry>
<entry>
<title>win32: work around problem with stderr in MSVCRT</title>
<updated>2024-09-30T15:08:42+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-09-30T14:20:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=4be93f32f5bd5ccaac343b4d03fb861a02d6de96'/>
<id>urn:sha1:4be93f32f5bd5ccaac343b4d03fb861a02d6de96</id>
<content type='text'>
Try to run a non-existent command with standard error closed:

   xyz 2&gt;&amp;-

In recent versions of busybox-w32 this resulted in problems with
moving through history (either using up/down keys or ctrl-r) and
tab completion.  In all cases the order of the prompt and the
command were reversed.

Bisection showed the problem was first seen in PRE-5396 which
merged some commits from upstream, including fd47f0567 (lineedit:
print prompt and editing operations to stderr).

This (eventually) called to mind a previous problem with stderr
in xargs which was fixed by commit f192e6539 (xargs: fix 'xargs
-sNUM' tests).  In both cases it seemed that mixing calls to
bb_putchar_stderr() and fprintf(stderr, ...) was at fault.  The
former uses a file descriptor while the latter uses a stream.  It
was almost as if the stream was buffered.

- The problem with xargs affected 32-bit and 64-bit builds with
  MSVCRT.

- The problem with '2&gt;&amp;-' only affected 32-bit builds with MSVCRT.

- Neither problem was present with UCRT builds.

As a workaround change bb_putchar_stderr() to use the stderr stream
in builds for MSVCRT.

Saves 16 bytes in the 32-bit build.

(GitHub issue #460)
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2023-07-13T07:06:26+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-07-13T07:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=bd978d0256fd3a67de1a7dd54f1a37f9435be363'/>
<id>urn:sha1:bd978d0256fd3a67de1a7dd54f1a37f9435be363</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update applet size estimates</title>
<updated>2023-07-10T15:25:21+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2023-07-10T15:25:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5353df91cba7b397b9407701681708d0a1518df6'/>
<id>urn:sha1:5353df91cba7b397b9407701681708d0a1518df6</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>libbb: code shrink: introduce and use [_]exit_FAILURE()</title>
<updated>2023-06-15T09:55:56+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2023-06-15T09:55:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=648f506949ded749e28186d0092b6e42085c897b'/>
<id>urn:sha1:648f506949ded749e28186d0092b6e42085c897b</id>
<content type='text'>
function                                             old     new   delta
exit_FAILURE                                           -       7      +7
_exit_FAILURE                                          -       7      +7
run                                                  198     199      +1
restore_state_and_exit                               114     115      +1
xbsd_write_bootstrap                                 399     397      -2
vfork_compressor                                     209     207      -2
sig_handler                                           12      10      -2
serial_ctl                                           154     152      -2
parse_args                                          1169    1167      -2
onintr                                                21      19      -2
make_new_session                                     493     491      -2
login_main                                           988     986      -2
gotsig                                                35      33      -2
do_iplink                                           1315    1313      -2
addgroup_main                                        397     395      -2
inetd_main                                          1911    1908      -3
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/12 up/down: 16/-25)            Total: -9 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>win32: changes to signal handling</title>
<updated>2023-05-23T09:57:56+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-05-23T09:57:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=89aa9d783c535670c6aed1d32c8740b7474cca00'/>
<id>urn:sha1:89aa9d783c535670c6aed1d32c8740b7474cca00</id>
<content type='text'>
Use an exit code of the form (signal &lt;&lt; 24) when a process exits
due to a signal.  This replaces the previous use of (signal + 128).
This makes it easier to distinguish exit codes from signals.

Allow kill(2) to handle all defined signals, not just EXIT, TERM
and KILL.

The kill and timeout applets now accept any defined signals.

Convert certain Windows status codes Unix-style signal codes.

In ash:

- Exit as if with SIGINT in raise_interrupt() rather than call
  raise(SIGINT).  The latter returns an exit code of 3.

- Detect if a child process exits as if with SIGINT.  If not and if
  the parent is an interactive top-level shell, reset pending_int.
  This prevents the parent from seeing an INT if the child hasn't
  reported it exited due to INT.  (Probably due to it being an
  interactive shell.)

Costs 132-136 bytes.
</content>
</entry>
<entry>
<title>xargs: reinstate use of nofork applets</title>
<updated>2023-04-27T06:39:00+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-04-27T06:39:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=8e6e5aa81c3bb7ce0b6a7f85ed0d01fc15604e5a'/>
<id>urn:sha1:8e6e5aa81c3bb7ce0b6a7f85ed0d01fc15604e5a</id>
<content type='text'>
Commit 99402ca92 (xargs: kill children when interrupted by Ctrl-C)
caused all child processes to be spawned, losing the advantage of
running nofork applets without spawning.

Costs 64 bytes.
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2023-04-09T10:24:09+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-04-09T10:24:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d9f2ea8628452f787e02dd0e496af612a2e94578'/>
<id>urn:sha1:d9f2ea8628452f787e02dd0e496af612a2e94578</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xargs: kill children when interrupted by Ctrl-C</title>
<updated>2023-04-07T11:52:57+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-04-07T11:52:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=99402ca92c77b13bee5181c129db18ecd9bf8938'/>
<id>urn:sha1:99402ca92c77b13bee5181c129db18ecd9bf8938</id>
<content type='text'>
A user was running the following command in a clone of the
busybox-w32 repo from a busybox-w32 shell using Git for Windows:

   git rev-list --all | xargs git grep main.c

Using Ctrl-C to interrupt the command resulted in the familiar
problem that two processes ended up competing for user input:
in this case the busybox-w32 shell and the Git for Windows pager,
less.

Make the problem go away (in this particular case) by killing all
the children of xargs when it's interrupted.  This is probably a
sensible thing to do for other circumstances too.

Adds 64-100 bytes.

(GitHub issue #306)
</content>
</entry>
</feed>
