<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/coreutils, branch master</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=master</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2026-06-30T08:07:06+00:00</updated>
<entry>
<title>join: code shrink</title>
<updated>2026-06-30T08:07:06+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-06-30T08:07:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b2fcbec6605532b7fa9a6e004bab7f731e956913'/>
<id>urn:sha1:b2fcbec6605532b7fa9a6e004bab7f731e956913</id>
<content type='text'>
Adopt some BusyBox idioms in join_main().  In particular:

- The '-a' and '-v' options are mutually exclusive. Enforce this
  in getopt32() instead of by hand.  Also, since they're mutually
  exclusive we don't need a distinct list for each.

- Control some clean-up code with ENABLE_FEATURE_CLEAN_UP.

There are also a few cosmetic changes.

Saves 204-256 bytes.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>test: fix POSIX build</title>
<updated>2026-06-22T10:44:02+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-06-22T10:44:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=a2afe021c5beec17f23575f4e21803d1ffd7d7c9'/>
<id>urn:sha1:a2afe021c5beec17f23575f4e21803d1ffd7d7c9</id>
<content type='text'>
One Windows-specific line of code wasn't protected by #ifdef.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>Fix the flags for stat (again) (#601)</title>
<updated>2026-06-22T10:36:43+00:00</updated>
<author>
<name>mbartlett21</name>
<email>29034492+mbartlett21@users.noreply.github.com</email>
</author>
<published>2026-06-22T10:36:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b37062304275debaadf71c9f3e5f4e9076f5eda6'/>
<id>urn:sha1:b37062304275debaadf71c9f3e5f4e9076f5eda6</id>
<content type='text'>
* Revert "find: reset stat(2) flags before terminating"

This reverts commit 228ee18fbe8cf408440e7bbe91db4ef201312983.

* test: fix flags for stat with NOFORK

test is a NOFORK applet, so the flags under mingw_stat may not have been
reset before calling it. We have it so it also restores the flags after,
since it could be called in the middle of another applet.

This also needed a way to retrieve the flags, so they are just done
through the return value.

* Add comments about not having to restore flags

Just for future reference

* lineedit: use new flag restoring

* win32: simplify mingw_access calling

Since we now have a way to get the previous flags, mingw_access can be
changed to ignore any stat flags

* stat: comments from PR

Adds 32 bytes.</content>
</entry>
<entry>
<title>df,lsattr: support Unix-like mount points</title>
<updated>2026-06-15T11:43:03+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-06-15T11:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d4fefaceac846bbf8acbb110924b0caff6df698e'/>
<id>urn:sha1:d4fefaceac846bbf8acbb110924b0caff6df698e</id>
<content type='text'>
Update 'lsattr' to distinguish between mount points and junctions.

Use the new 'mntent' functions in 'df' to display mount points as
well as drive letters.  If mount point is associated with a drive
letter this is displayed as the filesystem.  The Windows-specific
'-w' option forces the volume name to be displayed instead, if
avaialable.

Adds 87-111 bytes.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>stty: code shrink</title>
<updated>2026-05-26T06:40:19+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-26T06:40:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=f9e24f4766afdf2c0a1011097bd2fd6e01fd39e0'/>
<id>urn:sha1:f9e24f4766afdf2c0a1011097bd2fd6e01fd39e0</id>
<content type='text'>
The current implementation of 'stty' for Windows only uses a
limited subset of the flags in 'struct termios'.  Remove some
unused features.

Saves 16-40 bytes.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>win32: allow stat(2) to skip costly check for execute</title>
<updated>2026-05-18T06:55:54+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-18T06:55:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1fb1a65064748a54fba4bf4b5e8700f8e61f003f'/>
<id>urn:sha1:1fb1a65064748a54fba4bf4b5e8700f8e61f003f</id>
<content type='text'>
If 'ls' is invoked without the '-l' option (or something that's
equivalent) and colour output isn't required, there's no need to
perform the expensive check for execute permission.

Allow 'ls' to inform stat(2) not to call has_exec_format().  This
has been combined with the existing mechanism to enable counting
subdirectories.

With this change the command 'ls | wc -l' used in issue #589
doesn't perform the test which upset Windows' anti-malware thing.

Adds 32-48 bytes.

(GitHub issue #589)
</content>
</entry>
<entry>
<title>dd: remove note about /dev/urandom and /dev/zero</title>
<updated>2026-05-12T12:59:45+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-12T12:59:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=4bc07f64b678e3e614e659d44b55ad1100d80d32'/>
<id>urn:sha1:4bc07f64b678e3e614e659d44b55ad1100d80d32</id>
<content type='text'>
Now that /dev/urandom and /dev/zero can be used by all applets
there's no need to mention that dd has support for them.

Saves 32-56 bytes.
</content>
</entry>
<entry>
<title>win32: coreutils/tr.c: use actail/isactype</title>
<updated>2026-04-16T09:42:13+00:00</updated>
<author>
<name>Avi Halachmi (:avih)</name>
<email>avihpit@yahoo.com</email>
</author>
<published>2026-04-12T20:09:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b5e7ae5e8a8632f03d08a0e000818e49b1e6fb70'/>
<id>urn:sha1:b5e7ae5e8a8632f03d08a0e000818e49b1e6fb70</id>
<content type='text'>
tr implements its own char classes setup, using index_in_strings and
"precompiling" the various classes chars. We can replace the lot with
a single loop of actail/isactype, which saves about 500 bytes.

Additionally, for unclear reasons, it didn't support [:graph:] and
[:print:], maybe because isgraph and isprint are disabled in libbb.h
because they're locale-dependent.

The new implementation using ac* does add support for these, and so tr
on windows now supports e.g. 'tr [:print:] X' which it didn't before.

This is the first use of actail, and demonstrates the usecases for it
(win32/fnmatch.c could use it as well, but the current code is too
branched to use it while keeping identical behavior, and regcomp.c
extracts the name from [:NAME:] on its own).
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2026-03-11T10:14:49+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-03-11T10:14:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=ede205bd07573813337b5706acb0cae3b127a36f'/>
<id>urn:sha1:ede205bd07573813337b5706acb0cae3b127a36f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>paste: fix output when file lengths differ</title>
<updated>2026-03-05T20:46:04+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2025-11-13T07:50:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=ea01f254b4e0dc2f59db4cba9dd4fa98e9f5b2e5'/>
<id>urn:sha1:ea01f254b4e0dc2f59db4cba9dd4fa98e9f5b2e5</id>
<content type='text'>
If the files being pasted had different numbers of lines the
output was incorrect.

Rewrite the loop over all lines to allow for this.  Add tests for
such conditions.

function                                             old     new   delta
paste_main                                           458     526     +68

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
