aboutsummaryrefslogtreecommitdiff
path: root/shell/ash.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* shell: unify endofname() in hush and ashDenys Vlasenko2010-09-071-21/+21
| | | | | | | | | | | | | function old new delta builtin_umask 132 133 +1 changepath 195 194 -1 expand_and_evaluate_arith 77 69 -8 ash_arith 143 135 -8 expand_one_var 1551 1515 -36 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/4 up/down: 1/-53) Total: -52 bytes Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* hush: remove disabled CMD_SINGLEWORD_NOGLOB_COND, rename o_glob->perform_globDenys Vlasenko2010-09-061-1/+1
| | | | | | + other small tweaks to comments and such Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* libbb: add xfstat functionDenys Vlasenko2010-08-311-2/+6
| | | | | | | | | | | | | | | | function old new delta xfstat - 25 +25 mkfs_ext2_main 2421 2423 +2 mkfs_reiser_main 1197 1194 -3 next 312 307 -5 ar_main 533 522 -11 mkfs_minix_main 2938 2924 -14 mkfs_vfat_main 1511 1495 -16 writeTarFile 272 255 -17 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/6 up/down: 27/-66) Total: -39 bytes Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* ash: small code shrink (-21 bytes)Denys Vlasenko2010-08-301-9/+6
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* *: make GNU licensing statement forms more regularDenys Vlasenko2010-08-161-1/+1
| | | | | | | This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix another bit of var_bash4 bugDenys Vlasenko2010-08-071-3/+14
| | | | | | | | | | But it _still_ doesn't pass! quoted case is a tough nut to crack function old new delta redirect 1281 1286 +5 subevalvar 1141 1142 +1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: cosmetic fixes, no code changesDenys Vlasenko2010-08-071-60/+21
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix another bug detected by var_bash4.testsDenys Vlasenko2010-08-061-2/+3
| | | | | | | | | | | | | | ... but var_bash4.tests still does not pass! function old new delta expandarg 959 962 +3 localcmd 259 257 -2 readtoken1 3275 3260 -15 subevalvar 1178 1141 -37 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/3 up/down: 3/-54) Total: -51 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix dequoting error detected by var_bash4 testDenys Vlasenko2010-08-061-7/+6
| | | | | | | | | | | | | But the test still fails (one more bug to fix) function old new delta changepath 195 192 -3 readtoken1 3247 3240 -7 subevalvar 1204 1184 -20 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-30) Total: -30 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: add a testcase for bug 2281 (currently fails). Small code cleanups.Denys Vlasenko2010-08-051-31/+52
| | | | | | | | | | | function old new delta changepath 195 192 -3 subevalvar 1204 1200 -4 readtoken1 3247 3240 -7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-14) Total: -14 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: mass cosmetic removal of extra empty lines. no code changesDenys Vlasenko2010-07-261-2/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix $! value when traps are setAlexander Shishkin2010-07-251-0/+1
| | | | | Signed-off-by: Alexander Shishkin <virtuoso@slind.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cttyhack: move build system bits into cttyhack.c, no code changesDenys Vlasenko2010-07-161-0/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: move config stuff into ash.c, no code chagesDenys Vlasenko2010-07-161-0/+117
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix obscure case of replacing + globbing + backslashesDenys Vlasenko2010-06-261-21/+21
| | | | | | | | | | | | | | | function old new delta subevalvar 1152 1178 +26 readtoken1 3267 3275 +8 redirect 1284 1286 +2 expandarg 957 958 +1 expdir 4 - -4 evalcommand 1219 1209 -10 expmeta 481 469 -12 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 4/2 up/down: 37/-26) Total: 11 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: do not rebuild ash and hush on any change to any .c fileDenys Vlasenko2010-06-261-3/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: <> redir should not truncateAndreas Bühmann2010-06-241-1/+1
| | | | | Signed-off-by: Andreas Bühmann <buehmann@users.berlios.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: times builtin: use unsigned type; take free-of-charge moduloDenys Vlasenko2010-06-181-4/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: stop defining _GNU_SOURCE in source files, it's in CFLAGS anywayDenys Vlasenko2010-06-181-6/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix unset in standalone modeDenys Vlasenko2010-06-181-0/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: cosmetics, no code changesDenys Vlasenko2010-06-181-23/+7
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix a few goofs uncovered by "make allnoconfig" testingDenys Vlasenko2010-06-061-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: rename parsefile->fd to ->pf_fdDenys Vlasenko2010-06-031-15/+15
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix redirection of fd 0 in scripts are sourced from interactive ashDenys Vlasenko2010-06-031-10/+25
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: better string sharingDenys Vlasenko2010-06-021-8/+6
| | | | | | | | text data bss dec hex filename 849427 441 7556 857424 d1550 busybox_old 849355 441 7556 857352 d1508 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: remove one redundant function, improve string sharing, better field namesDenys Vlasenko2010-06-021-55/+57
| | | | | | | | | | | | | | | function old new delta var_end - 15 +15 changepath 194 192 -2 setvareq 222 218 -4 lookupvar 57 51 -6 bltinlookup 57 51 -6 evalfun 452 443 -9 varequal 14 - -14 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/5 up/down: 15/-41) Total: -26 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: consolidate builtin_foo.? into shell_common.?; delete obsolete shellsDenys Vlasenko2010-05-231-2/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: eliminate 16 bytes in bssDenys Vlasenko2010-05-201-26/+22
| | | | | | | | text data bss dec hexfilename 841423 441 7572 849436 cf61cbusybox_old 841430 441 7556 849427 cf613busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix var_leak.tests so that it actually catches the NOFORK bugDenys Vlasenko2010-05-181-8/+14
| | | | | | + document the bug better Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* typo fixDenys Vlasenko2010-05-181-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix bug which causes signal6.tests to failDenys Vlasenko2010-05-181-7/+15
| | | | | | | | function old new delta trapcmd 271 277 +6 localcmd 277 275 -2 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash,hush: make bare "." set exitcode to 2Denys Vlasenko2010-05-181-20/+25
| | | | | | | | function old new delta dotcmd 300 305 +5 builtin_source 176 171 -5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash,hush: make "source" a synonym for . if bash compat is onDenys Vlasenko2010-05-171-0/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix ". empty_file" exitcode. +5 bytesDenys Vlasenko2010-05-171-3/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: use CONFIG_FEATURE_EDITING_MAX_LENDenys Vlasenko2010-05-171-7/+6
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix signal5.testsDenys Vlasenko2010-05-171-5/+12
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: refresh stack pointers after makestrspace in rmescapesColin Watson2010-04-261-0/+4
| | | | | | | | | | | | | | | | | | | | Without this, rmescapes sometimes returns random garbage while performing parameter expansions such as ${foo#bar}, in the event that the allocation of r happens to need to reallocate the stack and hence invalidate str and p. I'd love to provide a test case but unfortunately it's dependent on exact stack layout, so I don't have anything simpler than the situation described in https://bugs.launchpad.net/ubuntu/+source/partman-base/+bug/527401/comments/23 which involved a sequence of foo="${foo#*, }" expansions on a long string inside our RAID configuration tool. The same fix has been in dash since 2007-09-26, contributed by Roy Marples <uberlord@gentoo.org>. I actually came up with it independently almost to the character, but then synced it up with the variable naming used in dash when I noticed that change afterwards. Signed-off-by: Colin Watson <cjwatson@ubuntu.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: line up builtin table. no code changesDenys Vlasenko2010-03-261-45/+45
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: trap with bad signal name should not abortDenys Vlasenko2010-03-261-4/+10
| | | | | | | function old new delta trapcmd 236 271 +35 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash,hush: make it possible to build them individuallyDenys Vlasenko2010-03-231-4/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix quadratic matching slowdown is ${v/*foo*/repl} (really bad one)Denys Vlasenko2010-03-131-12/+59
| | | | | | | | | | | | | | | | | It is especially bad with patterns starting with "*". With ASH_OPTIMIZE_FOR_SIZE=y, only those are optimized, +few bytes: text data bss dec hex filename 836337 441 7564 844342 ce236 busybox_old 836341 441 7564 844346 ce23a busybox_unstripped With ASH_OPTIMIZE_FOR_SIZE off, we also optimize patterns _ending_ with "*", which costs about 80 bytes: text data bss dec hex filename 836656 441 7564 844661 ce375 busybox_old 836732 441 7564 844737 ce3c1 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: use ash's ulimit builtin; make it more more bash0like while at itDenys Vlasenko2010-03-061-211/+3
| | | | | | | | | | | | | | | | | | | Based on a patch by Tobias Klauser <tklauser@distanz.ch> function old new delta shell_builtin_ulimit - 498 +498 limits_tbl 33 88 +55 ulimit_opt_string - 38 +38 bltins1 288 300 +12 limits_name 127 - -127 ulimitcmd 415 7 -408 ------------------------------------------------------------------------------ (add/remove: 3/1 grow/shrink: 2/1 up/down: 603/-535) Total: 68 bytes text data bss dec hex filename 839229 453 6828 846510 ceaae busybox_old 839423 453 6828 846704 ceb70 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: use NULL for null pointersDenys Vlasenko2010-03-051-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Replace __uClinux__ define with !BB_MMUDenys Vlasenko2010-02-211-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix bug 1087. Fix by Leonid (lly.dev AT gmail.com)Denys Vlasenko2010-02-211-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell/read: check that variable names are saneDenys Vlasenko2010-01-131-4/+0
| | | | | | | | | | function old new delta shell_builtin_read 1000 1055 +55 parse_command 1460 1463 +3 builtin_umask 121 123 +2 is_well_formed_var_name 73 66 -7 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: use ash's read builtinDenys Vlasenko2010-01-121-4/+10
| | | | | | | | | | | | | | | | | function old new delta shell_builtin_read - 1000 +1000 set_local_var_from_halves - 24 +24 setvar2 - 7 +7 ... popstring 140 134 -6 ash_main 1375 1368 -7 setvar 184 174 -10 arith_set_local_var 36 - -36 builtin_read 1096 185 -911 ------------------------------------------------------------------------------ (add/remove: 3/1 grow/shrink: 5/23 up/down: 1038/-1007) Total: 31 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: split read builtin from ashDenys Vlasenko2010-01-121-199/+35
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: introduce and use monotonic_msDenys Vlasenko2010-01-121-2/+2
| | | | | | | | | | | | | | | | | | | | | function old new delta monotonic_ms - 60 +60 process_stdin 433 443 +10 display_speed 85 90 +5 nmeter_main 672 674 +2 builtin_type 114 116 +2 bb__parsespent 117 119 +2 ifplugd_main 1110 1109 -1 acpid_main 441 440 -1 chat_main 1361 1359 -2 doCommands 2458 2449 -9 arpping 466 450 -16 run_command 268 234 -34 readcmd 1072 1034 -38 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 5/7 up/down: 81/-101) Total: -20 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: fix for read $IFS splitting. Closes bug 235Denys Vlasenko2010-01-081-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>