<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32, branch tilde</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=tilde</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=tilde'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2022-03-24T12:26:01+00:00</updated>
<entry>
<title>ash,hush: use HOME for tab completion and prompts</title>
<updated>2022-03-24T12:26:01+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-03-24T11:43:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=3e385d22cc57aacddafe38a1b6bcd55aa71d3c80'/>
<id>urn:sha1:3e385d22cc57aacddafe38a1b6bcd55aa71d3c80</id>
<content type='text'>
ash and hush correctly use the value of HOME for tilde expansion.
However the line editing code in libbb obtains the user's home
directory by calling getpwuid().  Thus tildes in tab completion
and prompts may be interpreted differently than in tilde expansion.

When the line editing code is invoked from a shell make it use the
shell's interpretation of tilde.  This is similar to how GNU readline
and bash collaborate.

function                                             old     new   delta
get_homedir_or_NULL                                   29      72     +43
optschanged                                          119     126      +7
hush_main                                           1204    1211      +7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 57/0)               Total: 57 bytes

v2: Always check for HOME before trying the password database:  this
    is what GNU readline does.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>ash: let $HOME set home directory of login shell</title>
<updated>2022-03-22T08:12:07+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-03-22T08:12:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=af41de68901d48753eb73491d54931a99d1a13b5'/>
<id>urn:sha1:af41de68901d48753eb73491d54931a99d1a13b5</id>
<content type='text'>
In busybox-w32 the shell option '-l' sets HOME to the user's
home directory, as determined by a call to GetUserProfileDirectory().
This is differs from how shells work on Unix, where HOME is usually
set by login(1).

Allow the user to override this behaviour by setting HOME before
starting the shell.  If HOME isn't set or contains an empty string
the previous behaviour applies.  If HOME is set to a non-empty string
the user should ensure that it represents a valid absolute path.

(GitHub issue #244)
</content>
</entry>
<entry>
<title>Fix POSIX build</title>
<updated>2022-02-27T16:32:53+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-27T16:32:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=f3c5e8bc316af658260369fc2d4d1270c1f609b4'/>
<id>urn:sha1:f3c5e8bc316af658260369fc2d4d1270c1f609b4</id>
<content type='text'>
Commit e6238530e (cpio: code shrink with !FEATURE_EXTRA_FILE_DATA)
broke the POSIX build by incorrectly excluding chunks of code.
</content>
</entry>
<entry>
<title>ash: try harder to avoid ctrl-c issue</title>
<updated>2022-02-27T12:56:21+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-27T12:56:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=96c104a61c9a75c478eb6e830653a830d72fe8fb'/>
<id>urn:sha1:96c104a61c9a75c478eb6e830653a830d72fe8fb</id>
<content type='text'>
Commit 96a647690 (ash: prevent issue with ctrl-c and echo in loop)
attempted to fix the problem that interrupting a loop like:

   while true; do echo hello; done

caused the shell to exit.  However, it wasn't completely effective
and it only applied to echo and printf, not other builtins.

Revert 96a647690 and instead don't call raise_interrupt() from
crtl_handler() for the foreground interactive shell.
</content>
</entry>
<entry>
<title>win32: fake file ownership on FAT filesystems</title>
<updated>2022-02-17T08:37:10+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-17T08:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=67d6d366161c04ec32f2b429a2441016dfd91f2a'/>
<id>urn:sha1:67d6d366161c04ec32f2b429a2441016dfd91f2a</id>
<content type='text'>
busybox-w32 tries to display the ownership of files by comparing
the security identifier (SID) of the current user with that of the
file on disk.  For filesystems that don't support SIDs this resulted
in files being listed as owned by root.

It appears that filesystems without support for file ownership
return a null SID.  In such cases pretend the file belongs to the
current user.

GitHub issue #241.
</content>
</entry>
<entry>
<title>Increment date in resources</title>
<updated>2022-02-14T08:09:50+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-14T08:09:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5ce146536f50341efd2496370af804bb348fa66e'/>
<id>urn:sha1:5ce146536f50341efd2496370af804bb348fa66e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ash: workaround for UCRT bug</title>
<updated>2022-02-12T12:59:04+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-12T12:59:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c5270ab0c1bfe1f79bc57650da1091cd7358c689'/>
<id>urn:sha1:c5270ab0c1bfe1f79bc57650da1091cd7358c689</id>
<content type='text'>
There seems to be a bug in UCRT such that if a process has been
started by passing a non-NULL environment block to CreateProcess()
any subsequent call to spawnve() with a non-NULL environment pointer
results in a crash.

Commit 5b48ca53b (win32: pass NULL to spawnve, not environ) fixed
the problem in busybox-w32 for those cases where a NULL environment
pointer was sufficient.  It didn't handle the case where the shell
passes a modified environment to its child.

All calls to spawnve() in the shell occur in a process which will
terminate whether or not the call succeeds.  It therefore doesn't
matter if we mess with the environment of this process to allow
spawnve() to be passed a NULL environment pointer.  Do this for
UCRT builds only.

(GitHub issue #234)
</content>
</entry>
<entry>
<title>cpio: code shrink with !FEATURE_EXTRA_FILE_DATA</title>
<updated>2022-02-10T13:43:54+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-10T13:18:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=e6238530e486d3c4bfe5cab7df5545869ab139ad'/>
<id>urn:sha1:e6238530e486d3c4bfe5cab7df5545869ab139ad</id>
<content type='text'>
The new --renumber-inodes option won't work if FEATURE_EXTRA_FILE_DATA
is disabled.  Don't allow it to be selected in that case.  In fact,
if FEATURE_EXTRA_FILE_DATA is disabled all the code to handle hardlinks
can be #ifdef'ed out.

The new --ignore-devno option need do nothing if FEATURE_EXTRA_FILE_DATA
is disabled, as in that case the device ids will already be zero.
It can still be selected, cpio will just always behave as though the
option was provided on the command line.

This doesn't affect the size of the default build.
</content>
</entry>
<entry>
<title>find: -samefile requires FEATURE_EXTRA_FILE_DATA</title>
<updated>2022-02-09T13:33:37+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-09T13:33:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=104fd2e186db21df3e93ed5a4db9a7623b70d46f'/>
<id>urn:sha1:104fd2e186db21df3e93ed5a4db9a7623b70d46f</id>
<content type='text'>
Without FEATURE_EXTRA_FILE_DATA we don't have inode numbers to
match so -samefile won't work.
</content>
</entry>
<entry>
<title>Fix POSIX build; new year</title>
<updated>2022-02-09T11:24:33+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-09T11:24:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=7d5de438255f7571906a798bb6a3de80bd4c09d9'/>
<id>urn:sha1:7d5de438255f7571906a798bb6a3de80bd4c09d9</id>
<content type='text'>
</content>
</entry>
</feed>
