<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/include, branch noconsole2</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=noconsole2</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=noconsole2'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2023-08-20T12:35:20+00:00</updated>
<entry>
<title>ash: detect console state on shell start up</title>
<updated>2023-08-20T12:35:20+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-08-20T11:53:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=67ed7484be88e3be5a5a51f404f1325a569be173'/>
<id>urn:sha1:67ed7484be88e3be5a5a51f404f1325a569be173</id>
<content type='text'>
Set 'noconsole' to match the actual state of the console (normal/
iconified) when the shell is started.  Thus ShowWindow() will only
be called if the actual state differs from the default or user
defined state.

Costs 20-24 bytes.

(GitHub issue #325)
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2023-08-10T09:14:38+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-08-10T09:14:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1ba2d37b9f59c4e7a44abb56dfb87f044ba7dc77'/>
<id>urn:sha1:1ba2d37b9f59c4e7a44abb56dfb87f044ba7dc77</id>
<content type='text'>
</content>
</entry>
<entry>
<title>win32: support build with FEATURE_UNICODE_SUPPORT</title>
<updated>2023-07-22T06:40:16+00:00</updated>
<author>
<name>Avi Halachmi (:avih)</name>
<email>avihpit@yahoo.com</email>
</author>
<published>2023-06-27T11:41:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=0efc74740ebc0d98af79ba4a5dfa73bfb5db3df0'/>
<id>urn:sha1:0efc74740ebc0d98af79ba4a5dfa73bfb5db3df0</id>
<content type='text'>
FEATURE_UTF8_MANIFEST enables Unicode args and filenames on Win 10+.

FEATURE_UTF8_INPUT allows the shell prompt to digest correctly
Unicode strings (as UTF8) which are typed or pasted.

This commit adds support for building with FEATURE_UNICODE_SUPPORT
(mostly by supporting 32 bit wchar_t which busybox expects):

- Unicode-aware line-edit - for the most part cursor movement/del
  being (UTF8) codepoint-aware rather than assuming that one-byte
  equals one-char-on-screen.

- Codepoint-aware operations in some other utils, like rev or wc -c.

- When UNICODE_COMBINING_WCHARS and UNICODE_WIDE_WCHARS are enabled,
  some screen-width-aware operations, like with fold, ls, expand, etc.

The busybox Unicode support is incomplete, and even less so with the
builtin libc replacement functions, like wcwidth, which are active
when UNICODE_USING_LOCALE is unset (mingw lacks those functions).

FEATURE_CHECK_UNICODE_IN_ENV should be set so that Unicode is not
hardcoded but rather depends on the ANSI codepage and some env vars:
LC_ALL=C disables Unicode support, else it's enabled if ACP is UTF8.

There's at least one known issue where the tab-completion-prefix-case
is not updated correctly, e.g. ~/desk&lt;tab&gt; completes to ~/desktop/
instead of ~/Desktop/, because the code which handles it exists
only at the non-unicode code paths, but that's not very critical.

That seems to be the only case where mingw-specific code is disabled
when Unicode is enabled, but there could be other unknown issues.

None of the Unicode options is enabled by default, and the next
commit will make it easier to create a build which supports Unicode.
</content>
</entry>
<entry>
<title>introduce and use exitcode_t</title>
<updated>2023-07-17T15:29:36+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2023-07-17T15:29:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c484846c4459affa769b84cbd0b586f2bbaec828'/>
<id>urn:sha1:c484846c4459affa769b84cbd0b586f2bbaec828</id>
<content type='text'>
function                                             old     new   delta
strings_main                                         422     420      -2
setfattr_main                                        175     173      -2
brctl_main                                          1548    1546      -2
makedevs_main                                        979     975      -4
rev_main                                             337     332      -5
getfattr_main                                        307     302      -5
cut_main                                            1201    1196      -5
cksum_main                                           398     393      -5
umount_main                                          573     565      -8
ln_main                                              516     508      -8
expand_main                                          660     652      -8
df_main                                             1068    1060      -8
renice_main                                          346     332     -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/13 up/down: 0/-76)            Total: -76 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>date: allow system date to be set</title>
<updated>2023-07-16T07:49:50+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-07-16T07:49:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=bc0d14ee8eb9720a5df097f5620c4b4c679b6c98'/>
<id>urn:sha1:bc0d14ee8eb9720a5df097f5620c4b4c679b6c98</id>
<content type='text'>
Implement clock_settime(2) and enable the '-s' option to allow
the system time to be set.  This requires elevated privileges.

The code in date.c is now identical to upstream BusyBox.

Costs 256-272 bytes.
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2023-07-13T07:06:26+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-07-13T07:06:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=bd978d0256fd3a67de1a7dd54f1a37f9435be363'/>
<id>urn:sha1:bd978d0256fd3a67de1a7dd54f1a37f9435be363</id>
<content type='text'>
</content>
</entry>
<entry>
<title>hwclock: add get/set parameters option</title>
<updated>2023-07-12T14:27:49+00:00</updated>
<author>
<name>Andrej Picej</name>
<email>andrej.picej@norik.com</email>
</author>
<published>2023-07-11T08:42:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d70256a5c719439cc6fab6a4571c1bb46178e4c7'/>
<id>urn:sha1:d70256a5c719439cc6fab6a4571c1bb46178e4c7</id>
<content type='text'>
In kernel 5.16 special ioctls were introduced to get/set RTC parameters.
Add option to get/set parameters into busybox version of hwclock.
Implementation is similar to the one already used in linux-utils hwclock
tool.

Example of parameter get use:
$ hwclock -g 2
The RTC parameter 0x2 is set to 0x2.
$ hwclock --param-get bsm
The RTC parameter 0x2 is set to 0x2.

Example of parameter set use:
$ hwclock -p 2=1
The RTC parameter 0x2 will be set to 0x1.
$ hwclock -p bsm=2
The RTC parameter 0x2 will be set to 0x2.

function                                             old     new   delta
hwclock_main                                         298     576    +278
.rodata                                           105231  105400    +169
packed_usage                                       34541   34576     +35
static.hwclock_longopts                               60      84     +24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 506/0)             Total: 506 bytes

Signed-off-by: Andrej Picej &lt;andrej.picej@norik.com&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: properly echo console input to 'read' built-in</title>
<updated>2023-07-12T10:52:06+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-07-12T10:52:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=2a4b086d4848616306f97f6378e0f10a48d41929'/>
<id>urn:sha1:2a4b086d4848616306f97f6378e0f10a48d41929</id>
<content type='text'>
The 'read' shell built-in echoed console input to stdout.  Echo
directly to the console instead.

Costs 124-136 bytes.
</content>
</entry>
<entry>
<title>ash: disable sleep as builtin, closes 15619</title>
<updated>2023-07-10T08:53:23+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2023-07-10T08:52:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5e0411a7fb510b9aecda0a850c76bdd62c50efa4'/>
<id>urn:sha1:5e0411a7fb510b9aecda0a850c76bdd62c50efa4</id>
<content type='text'>
Has a few annoying problems:
* sleepcmd() -&gt; sleep_main(), the parsing of bad arguments exits the shell.
* sleep_for_duration() in sleep_main() has to be interruptible for
  ^C traps to work, which may be a problem for other users
  of sleep_for_duration().
* BUT, if sleep_for_duration() is interruptible, then SIGCHLD interrupts it
  as well (try "/bin/sleep 1 &amp; sleep 10").
* sleep_main() must not allocate anything as ^C in ash longjmp's.
  (currently, allocations are only on error paths, in message printing).

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>win32: more console input character conversions</title>
<updated>2023-07-07T13:16:41+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2023-07-07T13:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=63f2f555277c8a4b2b992367aa26d497931deaeb'/>
<id>urn:sha1:63f2f555277c8a4b2b992367aa26d497931deaeb</id>
<content type='text'>
Add wrappers for the following input functions with conversions
for console input.  Applications suitable for testing these changes
are appended in brackets.

- getchar (xargs)
- fgetc   (tac)
- getline (shuf)
- fgets   (rev)

Costs 112-120 bytes.
</content>
</entry>
</feed>
