<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/include, branch su_cmd3</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=su_cmd3</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=su_cmd3'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2023-04-23T08:04:01+00:00</updated>
<entry>
<title>win32: export xappendword()</title>
<updated>2023-04-23T08:04:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-04-23T08:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=0575aaaa0779812752427badbc0f80a09aac02a4'/>
<id>urn:sha1:0575aaaa0779812752427badbc0f80a09aac02a4</id>
<content type='text'>
Export the function xappendword() from make.  Use it in drop and
watch.

Saves 8-80 bytes, an unusually large disparity.
</content>
</entry>
<entry>
<title>win32: case-sensitivity in tab completion</title>
<updated>2023-04-19T11:51:19+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-04-19T11:51:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7b81a44c87cf71dfb4f647ba107624e208ffbefe'/>
<id>urn:sha1:7b81a44c87cf71dfb4f647ba107624e208ffbefe</id>
<content type='text'>
The tab-completion code treated all matches as case-insensitive
because that's how Microsoft Windows handles filenames.

This is now inadequate, as shell builtins, functions and aliases
are case sensitive.

Modify the treatment of case-sensitivity in tab completion:

- Track whether each potential match is case-insensitive (filename)
  or case-sensitive (shell builtin, function or alias).

- When comparing matches use a case-insensitive comparison if either
  value is a filename.  Otherwise use a case-sensitive comparison.

Adds 64 bytes.
</content>
</entry>
<entry>
<title>libbb: don't build useless functions</title>
<updated>2023-04-16T12:13:52+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-04-16T12:13:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=74734bff81dc2e1a5b160d5621eeea35c5defabd'/>
<id>urn:sha1:74734bff81dc2e1a5b160d5621eeea35c5defabd</id>
<content type='text'>
The functions ndelay_on(), ndelay_off() and close_on_exec_on()
don't do anything useful because our fcntl(2) implementation
doesn't support the features they require.

Replace them with stubs.

Saves 176-208 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>libbb: consolidate NOMMU fix of restoring high bit in argv[0][0]</title>
<updated>2023-04-06T19:20:28+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2023-04-06T19:20:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=a26711a2d1464167be4ebc990fe21a3809a2da34'/>
<id>urn:sha1:a26711a2d1464167be4ebc990fe21a3809a2da34</id>
<content type='text'>
function                                             old     new   delta
fork_or_rexec                                         46      56     +10
bootchartd_main                                     1087    1079      -8
cpio_main                                            674     661     -13
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 10/-21)            Total: -11 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: add support for INT trap</title>
<updated>2023-04-03T07:33:14+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-04-03T07:33:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=64c8f5f3d0bbfcaf3b88aa97a23d90c14326b79e'/>
<id>urn:sha1:64c8f5f3d0bbfcaf3b88aa97a23d90c14326b79e</id>
<content type='text'>
The trap builtin now handles INT.  As before, other signals (from
a limited list) are accepted but their traps don't have any effect.

There's some variability in how shells handle traps.  This patch
upholds that proud tradition.

Various changes are needed to make this work:

- Line editing has a new flag to ignore Ctrl-C.

- If INT is being trapped or ignored don't call raise_interrupt().

- A minimal implementation of dotrap() is provided.

- Call dotrap() when the read builtin or line input detect Ctrl-C.

- Adjust Ctrl-C detection when the INT trap is changed.

- Set may_have_traps when an INT trap is set.

Costs 368-448 bytes.

(GitHub issue #303)
</content>
</entry>
<entry>
<title>win32: add fake HUP and QUIT signals</title>
<updated>2023-04-03T07:31:56+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-04-03T07:28:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1b2ee3667543b2588446dba6655720eb929bfe03'/>
<id>urn:sha1:1b2ee3667543b2588446dba6655720eb929bfe03</id>
<content type='text'>
It's fairly common for shell scripts to trap this set of signals:

   EXIT HUP INT QUIT TERM (or the numeric equivalent: 0 1 2 3 15)

Add definitions for SIGHUP and SIGQUIT.  We don't take any action
if traps are defined for them, but at least scripts won't fail.

(GitHub issue #303)
</content>
</entry>
<entry>
<title>win32: delay adjusting code page</title>
<updated>2023-03-17T13:20:53+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-03-17T13:20:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=cb50586aedc9725fb14dbb25263bba1598726037'/>
<id>urn:sha1:cb50586aedc9725fb14dbb25263bba1598726037</id>
<content type='text'>
Commit 93a63809f9 (win32: add support for the euro currency symbol)
caused all invocations of busybox-w32 to change code page 850 to
858.  This has been known to cause problems with fonts in PowerShell
(GitHub issue #207).

Delay changing the code page until an i/o operation is imminent.
Instances of PowerShell started by the `drop` applet during ssh login
thus no longer have their code page adjusted.
</content>
</entry>
<entry>
<title>runuser: add 'drop' as an alias for runuser</title>
<updated>2023-03-16T15:37:15+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-03-16T15:21:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=87e7e7b1e61caa87112e3cf6527b606086b6b688'/>
<id>urn:sha1:87e7e7b1e61caa87112e3cf6527b606086b6b688</id>
<content type='text'>
The 'drop' alias for 'runuser' relaxes a number of constraints
that were introduced for compatibility:

- It works even if the current process doesn't have elevated
  privileges.

- It isn't necessary to specify the name of the user.

- Any command can be invoked, not just the BusyBox shell.

- If the command doesn't specify a path 'drop' will first look for
  a BusyBox applet then search PATH.

Adds 320-336 when built along with runuser.

(GitHub issue #240)
</content>
</entry>
<entry>
<title>win32: code shrink detection of executables</title>
<updated>2023-03-16T10:47:09+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-03-16T10:47:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=184edf9bd672bc93856157098d528eab48948ba9'/>
<id>urn:sha1:184edf9bd672bc93856157098d528eab48948ba9</id>
<content type='text'>
Add a function, file_is_win32_exe(), to detect if a path refers
to an executable.  It tries adding extensions if necessary.

Use this in a number of places to replace common code of the form

   path = alloc_ext_space(cmd);
   if (add_win32_extension(path) || file_is_executable(path))

Saves 32-48 bytes.
</content>
</entry>
</feed>
