<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/win32, branch mount_point</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=mount_point</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=mount_point'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2026-06-15T11:42:54+00:00</updated>
<entry>
<title>win32: Unix-like support for volume mounts</title>
<updated>2026-06-15T11:42:54+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-06-15T11:26:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=862f87a8725d5cc9693021066869e94512d5d8e1'/>
<id>urn:sha1:862f87a8725d5cc9693021066869e94512d5d8e1</id>
<content type='text'>
Add code to distinguish between volume mount points and junctions.
Volume mount points are to be treated like directries while
junctions are like symlinks.

Update the 'mntent' functions to scan drive letters first, then
volume names and their associated mount points.  By default the
filesystem is returned as a drive letter, if possible, though
the volume name is also returned.

The function 'find_mount_point()' has been updated to use the
new 'mntent' routines.

Adds 772-803 bytes.

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>win32: extend handling of virtual disks</title>
<updated>2026-06-08T13:02:15+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-06-08T13:02:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1313ab2691128c2255ac1ccdeea7021dbb9b4fe4'/>
<id>urn:sha1:1313ab2691128c2255ac1ccdeea7021dbb9b4fe4</id>
<content type='text'>
Commit 62e4c5d29 (win32: special treatment for virtual hard disk)
added special treatment for mount points associated with virtual
hard disks.  One statement made there was incorrect:  a VHD without
a drive letter containing no files *does* have a '.' directory.
The error message for this case was misleading.

The changes made to handle VHDs were insufficiently general:

- lstat(2) only resolved symlinks for the explicit path '.'.
  It should also do so for paths of the form 'path/to/.'.

- opendir(3) only generated entries for '.' and '..' directories
  when FindFirstFileA() failed for the path '.'.  It should also
  do so for any path which resolves to a volume mount point.

Make the necessary changes.

Adds 64-80 bytes.

(GitHub issue #597)

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>win32: special treatment for virtual hard disk</title>
<updated>2026-06-07T14:23:48+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-06-07T14:23:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=62e4c5d291600a5f537d225ffdf22544bc74c8be'/>
<id>urn:sha1:62e4c5d291600a5f537d225ffdf22544bc74c8be</id>
<content type='text'>
Virtual hard disks (VHD) without a drive letter gave incorrect
results in 'ls' and 'stat'.  There were two problems:

- If the disk is empty it doesn't have a '.' directory.

- If it contains files the '.' directory is actually the mount
  point, which looks like a symbolic link and can't be opened
  as a directory.

Modify our 'stat(2)' and 'opendir(3)' implementations to handle
these quirks.

Adds 78-80 bytes.

(GitHub issue #597)

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>win32: avoid problems with forward slashes in path to cmd.exe</title>
<updated>2026-06-06T09:55:46+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-06-06T09:55:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=acc0d23bce6458cff1b0716c64e0821a8230815b'/>
<id>urn:sha1:acc0d23bce6458cff1b0716c64e0821a8230815b</id>
<content type='text'>
Running 'C:/Windows/System32/cmd.exe' from the shell was found to
have the unxpected result of creating the directory '.exe'.  This
is due to the weirdness of cmd.exe.

A similar problem with batch files was already being handled in
`spawnveq()` by converting forward slashes to backslashes in the
path to the executable file.  Doing this unconditionally will fix
the above case too.

(GitHub issue #598)

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>win32: special treatment for mounted volumes</title>
<updated>2026-06-04T10:46:40+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-06-04T10:46:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=77fd1b62ca4b5ce965fbd4ad3b86ceb0a7b393ce'/>
<id>urn:sha1:77fd1b62ca4b5ce965fbd4ad3b86ceb0a7b393ce</id>
<content type='text'>
It was reported that a mounted volume looked like a broken symlink
and that changing to the mount directory failed.

Preserve the format of the volume name when resolving the link.

Adds 84-96 bytes.

(GitHub issue #597)

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: fix incorrect change to tcgetattr()</title>
<updated>2026-05-22T15:39:33+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-22T15:39:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=135dc766a8f9bc12bc0724736c57db9a4a2fba8f'/>
<id>urn:sha1:135dc766a8f9bc12bc0724736c57db9a4a2fba8f</id>
<content type='text'>
Commit a560fdf23 (win32: better handling of console state) changed
to using CONIN$/CONOUT$ to handle terminal modes.

In tcgetattr() CONOUT$ was used instead of CONIN$, leading to
incorrect mode bits being fetched.

Saves 8-16 bytes.

(GitHub issue #594)

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
</content>
</entry>
<entry>
<title>win32: better handling of console state</title>
<updated>2026-05-22T07:41:25+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-22T07:41:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=a560fdf23d0a8d9dec61cd72c9eb892787aa6901'/>
<id>urn:sha1:a560fdf23d0a8d9dec61cd72c9eb892787aa6901</id>
<content type='text'>
When 'stty size' was run in a command substitution with stderr
redirected or 'stty -echo' with stdin redirected, it failed to
work properly.  The redirections broke its connection to the
terminal.

To fix this, ioctl/tcsetattr/tcgetattr have been modified to use
CONIN$ or CONOUT$ to access the screen buffer.  Using CON isn't
an adequate substitute in this case.

Also, if ioctl(fd, TIOCGWINSZ) fails, set errno.

Adds 112-116 bytes.

(GitHub issue #594)

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>reset: add support for stty and Windows Terminal</title>
<updated>2026-05-11T12:54:20+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-05-11T12:54:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=fd61ea6032ce732db6f66c335e7bfc44aa2290ff'/>
<id>urn:sha1:fd61ea6032ce732db6f66c335e7bfc44aa2290ff</id>
<content type='text'>
The 'reset' applet hasn't kept pace with developments elsewhere.

We now have support for 'stty sane', so the code in 'reset' which
calls that can be enabled.

Windows 10 and 11 have updated Terminal and Console programs, with
varying features and behaviours.  Add ANSI emulation code to handle
clearing the scrollback buffer and use ANSI sequences in 'reset'
to do that.  It was also necessary to retain the explicit call to
reset_screen(), or 'reset' didn't work properly in the Terminal I'd
installed in Windows 10.

Adds 92-128 bytes.

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