aboutsummaryrefslogtreecommitdiff
path: root/docs/cgi (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-02-04which: standardise slashes in outputRon Yorston1-0/+10
Closes GitHub issue #21.
2019-02-02win32: add support for the euro currency symbolRon Yorston6-2/+103
The euro currency symbol was added to some OEM code pages. See: https://www.aivosto.com/articles/charsets-codepages-dos.html Add a configuration option (enabled by default) to support this. When enabled: - The read_key() function requests wide character key events. This allows the euro symbol to be entered regardless of the console OEM code page, though it needs to be available in the ANSI code page. - Conversions between OEM and ANSI code pages in winansi.c are modified to work around a bug in the Microsoft routines. - If the OEM code page is 850 when BusyBox starts it's changed to 858. This is the only currently supported OEM code page. Also, the shell read builtin is modified to use read_key() whenever input is being taken from the console.
2019-02-01vi: simplify code to display pasted textRon Yorston1-8/+4
2019-01-26ash: remove carriage returns from strings to be evaluatedRon Yorston1-0/+12
The shell could fail to evaluate strings containing carriage returns. For example: awk 'BEGIN { "set -ex\r\npwd\r\n" | getline }' </dev/null The string is passed as an argument to "sh -c". The "set" built-in fails because it attempts to treat the carriage return as an option. Although this is correct behaviour on Unix it may be unhelpful on Microsoft Windows. See GitHub issue #138.
2019-01-26win32: allow characters to be entered as ALTNNNRon Yorston1-3/+34
It wasn't possible to enter characters using Alt and the decimal character code. This was because the character is generated when the Alt key is released but the WIN32 implementation of read_key() ignored all key up events. Modify read_key() to ignore numbers entered on the numeric keypad with Alt pressed and to detect when Alt is released. Fixes GitHub issue #136.
2019-01-26vi: display pasted textRon Yorston1-1/+14
vi tries to avoid updating the display if more input is available. This didn't work when text was pasted in because a key release event was left in the event queue. When mysleep() is called to test for this condition allow up to one event to be present in the queue before reporting that input is available.
2019-01-23awk: fix handling of regular expressions that match end-of-lineRon Yorston1-0/+24
awk failed to match regular expressions that included an end-of-line: it was looking for a LF whereas lines were terminated by CRLF. Rather than tinker with the regex code or arrange for input to be in text mode I've stripped CRs from the input.
2019-01-10iconv: depends on PLATFORM_MINGW32Ron Yorston1-0/+1
2019-01-10Update default configuration; compilation fixRon Yorston3-8/+34
Continue to use old version of dc; add definition of LONG_BIT from xopen_lim.h.
2019-01-09nslookup: return exitcode 1 on resolution errorsDenys Vlasenko1-4/+8
function old new delta nslookup_main 757 760 +3 send_queries 1690 1677 -13 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-09telnet: placate compiler's warningDenys Vlasenko1-1/+1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-09date: improve help text for -DDenys Vlasenko1-2/+2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-09bc: code shrinkDenys Vlasenko1-14/+14
function old new delta xc_parse_pushInst_and_Index - 16 +16 zbc_parse_expr 1818 1816 -2 xc_parse_pushIndex 65 61 -4 zbc_parse_pushSTR 63 58 -5 zbc_parse_name 448 442 -6 xc_parse_pushNUM 74 67 -7 zdc_parse_expr 479 470 -9 bc_parse_pushJUMP_ZERO 21 12 -9 bc_parse_pushJUMP 21 12 -9 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/8 up/down: 16/-51) Total: -35 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-09diff: omit unreliable test for same fileRon Yorston1-1/+1
diff tries to detect if it's been asked to compare a file with itself. Because much of the information returned by stat(2) is fake (in particular, the inode number) this results in false positives. Simply omit the unreliable test.
2019-01-08bc: remove "empty expression" check/message, parsing fails in these cases anywayDenys Vlasenko1-3/+4
function old new delta zbc_parse_expr 1848 1818 -30 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-08bc: zbc_parse_expr_empty_ok() is unused except by zbc_parse_expr(), fold it inDenys Vlasenko1-36/+25
function old new delta zbc_parse_expr 1865 1848 -17 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-08bc: disallow invalid syntax like "{ print 1 print 2 }"Denys Vlasenko1-15/+21
statement parsing must NOT eat the terminator: caller needs to know what it was, to correctly decide whether it is a valid one. function old new delta zxc_program_read - 234 +234 zdc_program_printStream - 144 +144 zbc_parse_stmt_possibly_auto 1413 1460 +47 zxc_vm_process 869 859 -10 zxc_program_exec 4116 4101 -15 zdc_program_asciify 368 - -368 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 1/2 up/down: 425/-393) Total: 32 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-08ps: fix long output when desktop compatibility is disabledRon Yorston1-0/+3
In desktop mode the state column is disabled and doesn't affect output. When desktop mode is disabled the state column is displayed in long output. Put some fake data in the column to improve the display.
2019-01-08ps: display interpreted script name in comm columnRon Yorston2-2/+19
When an interpreted script is being run the comm column in ps should display the name of the script not the name of the interpreter. Use a fake applet pathname to indicate which argument contains the script. This also allows pidof to obtain the pid of a script.
2019-01-08ps: add support for the args columnRon Yorston6-37/+55
Implement read_cmdline() for WIN32 by storing the command line in the same way as the applet name. The applet name is actually used for the comm column which is truncated to COMM_LEN. Using this as the size of the bb_comm array avoids the need to calculate MAX_APPLET_NAME_LEN.
2019-01-08ps: add user and group columnsRon Yorston2-6/+11
2019-01-08passwd: initialize pointers correctlyEinar Jón1-4/+4
Fix for running passwd as root (or sudo passwd $USER). Crashed on call to free(orig) during cleanup. Fix regression from commit 17058a06c4333fc0c492c168c8a971ebd0fd5a5a Root user never changes the orig pointer, so when cleaning up, passwd tried to free orig=(char*)"" Example: sudo passwd $USER Changing password for xxx New password: Bad password: too short Retype password: Passwords don't match free(): invalid pointer Aborted function old new delta passwd_main 958 961 +3 Signed-off-by: Einar Jón <tolvupostur@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-08win32: add a fake root user and groupRon Yorston1-13/+26
2019-01-08win32: implement vsnprintf(2)Ron Yorston2-0/+25
The Microsoft C runtime may include a defective version of vsnprintf. Implement a standards-compliant replacement.
2019-01-08tls: add comment about dl.fedoraproject.org needing secp256r1 ECC curveDenys Vlasenko1-0/+8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-07udhcpc: when decoding DHCP_SUBNET, ensure it is 4 bytes longDenys Vlasenko3-3/+3
function old new delta udhcp_run_script 795 801 +6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-07udhcp: code shrinkDenys Vlasenko1-5/+9
function old new delta attach_option 406 349 -57 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-07sleep: support "inf"Denys Vlasenko2-1/+5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-07win32: implement umask(2)Ron Yorston4-0/+31
umask() in the Microsoft C runtime takes different arguments to umask(2). Implement a fake umask(2) that remembers the mask and calls the Microsoft umask() with an appropriate value. Since the mask won't be inherited by children use an environment variable to pass any value set by the shell built-in umask.
2019-01-06build system: fix compiler warningsDenys Vlasenko5-7/+13
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-06find: handle leading -- argumentDenys Vlasenko1-0/+6
function old new delta find_main 464 478 +14 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-06telnet: provide feedback after successful connectDanijel Tasov1-0/+1
The real telnet provides some feedback: Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. We should do this to, because people are sitting there and think a firewall is dropping packets. function old new delta telnet_main 1270 1279 +9 Signed-off-by: Danijel Tasov <m@rbfh.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-06telnetd: fix bad interaction with vhangup() from loginDenys Vlasenko1-2/+16
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-06telnet: code shrinkDenys Vlasenko1-66/+53
function old new delta put_iac3_IAC_x_y_merged - 21 +21 put_iac4_msb_lsb - 19 +19 put_iac2_msb_lsb - 19 +19 put_iac 20 34 +14 iac_flush 32 36 +4 put_iac2_merged 46 - -46 telnet_main 1492 1270 -222 ------------------------------------------------------------------------------ (add/remove: 3/1 grow/shrink: 2/1 up/down: 77/-268) Total: -191 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-06telnet: speed up processing of network inputDenys Vlasenko1-40/+43
function old new delta telnet_main 1482 1492 +10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-06iconv: import from win-iconvRon Yorston4-1/+1849
Source imported from https://github.com/win-iconv/win-iconv and modified to build in busybox-w32.
2019-01-06xargs: fix 'xargs -sNUM' testsRon Yorston1-0/+4
The tests for 'xargs -sNUM' fail due to a missing newline unless it's output using fprintf rather than bb_putchar_stderr.
2019-01-06tar: return correct exit code for empty tar fileRon Yorston2-5/+4
The WIN32 implementation of check_errors_in_children shouldn't have reset bb_got_signal as it's used to signal an error.
2019-01-05busybox: add --uninstall optionRon Yorston3-2/+72
Add an option to allow hard links to be removed. busybox --uninstall file removes all hard links to the given file (including the file itself.) Since Microsoft Windows refuses to delete a running executable a BusyBox binary is unable to remove links to itself. busybox --uninstall -n file displays the names of all hard links to the given file. Although this feature is couched in terms of uninstalling BusyBox it's actually quite general: it can be used to delete or display hard links to any file.
2019-01-05busybox: identify scripts in output of 'busybox --list-full'Ron Yorston1-0/+4
2019-01-05lineedit: allow non-ASCII characters when tab-completing filenamesRon Yorston1-0/+4
2019-01-04ip: print dadfailed flagKaarle Ritvanen1-0/+4
Signed-off-by: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-04ls: make -i compatible with coreutils: don't follow symlink by defaultMartijn Dekker1-2/+2
Signed-off-by: Martijn Dekker <martijn@inlv.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-04wget: notify on download begin and endMartin Lewis1-0/+10
When using -o to file the progress meter is not displayed, so write that we started the download and that we finished it. function old new delta retrieve_file_data 465 561 +96 wget_main 2412 2432 +20 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 116/0) Total: 116 bytes text data bss dec hex filename 979022 485 7296 986803 f0eb3 busybox_old 979224 485 7296 987005 f0f7d busybox_unstripped Signed-off-by: Martin Lewis <martin.lewis.x84@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-04wget: add -o flagMartin Lewis1-15/+37
function old new delta wget_main 2348 2412 +64 packed_usage 33062 33093 +31 static.wget_longopts 252 266 +14 progress_meter 158 159 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 110/0) Total: 110 bytes Signed-off-by: Martin Lewis <martin.lewis.x84@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-04bc: shorten "limits" outputDenys Vlasenko1-4/+1
text data bss dec hex filename 979016 485 7296 986797 f0ead busybox_old 978959 485 7296 986740 f0e74 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-04win32: reduce static storage needed for lazy loadingRon Yorston2-21/+15
Only the generic function pointer and initialisation flag need to be in static storage. The DLL and function names and the specialised function pointer can be local.
2019-01-04bc: formatting changes, added a FIXME comment, no logic changesDenys Vlasenko1-5/+8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-04bc: support void functions (GNU compat)Denys Vlasenko2-19/+73
function old new delta xc_program_print - 689 +689 zxc_vm_process 814 869 +55 zxc_program_exec 4098 4116 +18 zxc_program_assign 385 392 +7 bc_result_free 43 46 +3 zxc_program_binOpPrep 243 245 +2 zdc_program_execStr 518 520 +2 zxc_program_print 683 - -683 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 6/0 up/down: 776/-683) Total: 93 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-01-04dc: fit returning of stringDenys Vlasenko2-5/+18
function old new delta zxc_program_exec 4087 4098 +11 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>