<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/libbb, branch symlink</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=symlink</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=symlink'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2021-03-01T09:37:50+00:00</updated>
<entry>
<title>libbb: fix detection of relative paths in xreadlink.c</title>
<updated>2021-03-01T09:37:50+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-03-01T09:37:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=b5cd41cdf4e6afd475fe34b755f99578e20b08ca'/>
<id>urn:sha1:b5cd41cdf4e6afd475fe34b755f99578e20b08ca</id>
<content type='text'>
In xmalloc_follow_symlinks() the code to detect relative paths
needs to be altered for WIN32.  We don't want C:/path to be
treated as a relative path.
</content>
</entry>
<entry>
<title>Fix `xmalloc_readlink()` again</title>
<updated>2021-03-01T09:31:21+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-03-01T09:31:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=3c44f5cae158ff4ffd03a4c319777ae88a60bcb9'/>
<id>urn:sha1:3c44f5cae158ff4ffd03a4c319777ae88a60bcb9</id>
<content type='text'>
In e86a3ddd8 (win32: make readlink(2) implementation unconditional,
2021-02-12), we removed the special casing of `errno == ENOSYS` when
trying to follow symlinks. However, that handling really was necessary:

- When we followed a symlink, and found a non-symlink, and then called
  `readlink()` with that non-symlink, we got `errno == ENOSYS` on
  Windows (translated from `ERROR_NOT_A_REPARSE_POINT`), and we did
  want to stop the loop and return the current path in that case.
  (Noted by Johannes Schindelin.)

- When readlink() called DeviceIoControl() for files on certain
  filesystems (e.g. FAT or a CDROM) it returned `errno == ENOSYS`
  (translated from ERROR_INVALID_FUNCTION).

Revert the part of the patch which handled `ENOSYS` on Windows.
</content>
</entry>
<entry>
<title>libbb: make banner shorter</title>
<updated>2021-02-16T16:22:35+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-02-16T16:22:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1e9328224c22baafc4c8f27082eb5e9a83b0b092'/>
<id>urn:sha1:1e9328224c22baafc4c8f27082eb5e9a83b0b092</id>
<content type='text'>
</content>
</entry>
<entry>
<title>win32: code shrink</title>
<updated>2021-02-13T10:17:16+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-02-13T10:17:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=8489ebce32f4b6cf5c1c1120fd474e26f7659db7'/>
<id>urn:sha1:8489ebce32f4b6cf5c1c1120fd474e26f7659db7</id>
<content type='text'>
Rewrite the recent change to tab completion so it only needs
one call to sprintf.  Then replace sprintf with strcpy/stpcpy,
both there and in a couple of other places.

Saves 40 bytes.
</content>
</entry>
<entry>
<title>win32: make readlink(2) implementation unconditional</title>
<updated>2021-02-12T14:02:28+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-02-12T14:02:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=e86a3ddd8b60eb0720874f5b9679446d12a1ac41'/>
<id>urn:sha1:e86a3ddd8b60eb0720874f5b9679446d12a1ac41</id>
<content type='text'>
There doesn't seem to be much advantage in having readlink(2) as a
configuration option.  Making it unconditional reduces divergence from
upstream and allows the removal of a check for ENOSYS that's been in
busybox-w32 since the start.
</content>
</entry>
<entry>
<title>libbb: avoid problems with quoted characters in tab completion</title>
<updated>2021-02-12T13:57:26+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-02-12T13:57:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=90f35327c2f31b7e4d938bf4d54e5526e53daee0'/>
<id>urn:sha1:90f35327c2f31b7e4d938bf4d54e5526e53daee0</id>
<content type='text'>
Commit 9e341902d (libbb: copy entire match during tab-completion)
adjusted the display of matches during tab completion to make any
changes in case visible.

Unfortunately the presence of quoted special characters upsets
the display:

  $ touch t+1+2+3 t+1+4+5
  $ ls t+1&lt;TAB&gt;

changes the command to:

  $ lst\+1\+

In such cases just revert to the upstream code which only displays
the tail of the match, giving:

  $ ls t+1\+
</content>
</entry>
<entry>
<title>win32: code shrink</title>
<updated>2021-02-06T09:52:11+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-02-06T09:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=70ca88d03a7aa92720744832fd9d131a183e00be'/>
<id>urn:sha1:70ca88d03a7aa92720744832fd9d131a183e00be</id>
<content type='text'>
Don't compile some code that isn't currently supported for WIN32.
Saves 24 bytes.
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2021-02-05T11:24:06+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-02-05T11:24:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=32e19e7ae8b0d76d69871ba234e8f0af31baff4e'/>
<id>urn:sha1:32e19e7ae8b0d76d69871ba234e8f0af31baff4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libbb: introduce and use fputs_stdout</title>
<updated>2021-02-03T19:52:40+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-02-03T19:47:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=cad3fc743aa7c7744e4fcf044371f0fda50fa51f'/>
<id>urn:sha1:cad3fc743aa7c7744e4fcf044371f0fda50fa51f</id>
<content type='text'>
function                                             old     new   delta
fputs_stdout                                           -      12     +12
zxc_vm_process                                      7237    7230      -7
yes_main                                              85      78      -7
write_block                                          380     373      -7
wrapf                                                305     298      -7
strings_main                                         437     430      -7
show_bridge                                          353     346      -7
rev_main                                             384     377      -7
put_prompt_custom                                     58      51      -7
put_cur_glyph_and_inc_cursor                         168     161      -7
print_numbered_lines                                 152     145      -7
print_named_ascii                                    130     123      -7
print_name                                           135     128      -7
print_login_issue                                    386     379      -7
print_ascii                                          208     201      -7
powertop_main                                       1249    1242      -7
od_main                                             1789    1782      -7
logread_main                                         518     511      -7
head_main                                            804     797      -7
display_process_list                                1319    1312      -7
cut_main                                            1002     995      -7
bb_dump_dump                                        1550    1543      -7
bb_ask_noecho                                        393     386      -7
baseNUM_main                                         702     695      -7
expand_main                                          755     745     -10
dumpleases_main                                      497     487     -10
write1                                                12       -     -12
putcsi                                                37      23     -14
print_login_prompt                                    55      41     -14
paste_main                                           525     511     -14
cat_main                                             440     426     -14
print_it                                             245     230     -15
print_addrinfo                                      1188    1171     -17
print_rule                                           770     750     -20
print_linkinfo                                       842     822     -20
httpd_main                                           791     771     -20
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/34 up/down: 12/-341)         Total: -329 bytes

Signed-off-by: Ron Yorston &lt;rmy@pobox.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>libbb: code shrink fgets_str</title>
<updated>2021-02-03T19:43:07+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-01-23T13:22:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=6ad38d66d08a2646c6423b967a790656ae026c95'/>
<id>urn:sha1:6ad38d66d08a2646c6423b967a790656ae026c95</id>
<content type='text'>
Use a NULL value of maxsz_p to indicate to xmalloc_fgets_internal()
that the caller doesn't care about the maximum size of the buffer.
This allows the default maximum size to be set once in
xmalloc_fgets_internal() instead of separately in each caller.

function                                             old     new   delta
xmalloc_fgets_internal                               273     287     +14
xmalloc_fgets_str                                     30       9     -21
xmalloc_fgetline_str                                  33      12     -21
xmalloc_fgets_str_len                                 38      10     -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 14/-70)            Total: -56 bytes

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