aboutsummaryrefslogtreecommitdiff
path: root/shell/ash.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Patch from vodz to fix the dynamic vars patch, which I should notEric Andersen2004-03-161-75/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | have checked in. Vladimir writes: Your patch have many problem. 1. You always added + time(). This cannot reset RANDOM=value for debuging with replay sequential. 2. Hmm. I examine bash 2.04 source. This pseudorandom generator use low bits of counter value. You use high bits. This make bad pseudorandom values after have 0-value. For example, if + time() do remove, your generator always return 0 after first generate 0. 3. Memory leak per call. Use ash-unlike unecessary bb_strdup function. 4. Unsupport show last $RANDOM value for "set" and "export" command. 5. Bloat code. Busybox-unlike patch - added unstandart feature as default hardcode. Last patch attached. Erik, why you apply Paul patch with have 5-th point problem? :( Last patch have ash change xwrite() to fresh libbb/bb_full_write interfase (haved loop after EINTR). --w vodz
* Remove trailing whitespace. Update copyright to include 2004.Eric Andersen2004-03-151-1/+1
|
* Paul Mundt, lethal at linux-sh dot org writes:Eric Andersen2004-03-111-14/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's a follow-up replacement to the patch I sent earlier, this adjusts some of the semantics of the dynamic variable setting. Namely, dynamic vars can hook a set handler (which RANDOM uses to adjust the seed). They'll only lose their dynamic status if they're unset. I've used the same approach that bash does to come up with the random number, mostly just for consistency. For example: $ echo $RANDOM 13759 $ echo $RANDOM 20057 $ echo $RANDOM 1502 $ export RANDOM=42 $ echo $RANDOM 24179 $ echo $RANDOM 2046 $ unset RANDOM $ echo $RANDOM $ export RANDOM=42 $ echo $RANDOM 42 $
* Fix vstype[] to match VS* defines. Patch from OpenWrt by mbm.Manuel Novoa III2004-02-181-1/+1
|
* Patch from vodz, based on bug report from Richard Kojedzinszky:Eric Andersen2004-02-061-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Richard, >I have a problem, which I can reproduce now. I am using pre7 version of >busybox, and the tab completion works fine. I mean, with an empty command >line I press the TAB twice, and ash shows me the available commands. But >when i process the profile file below, as > $ . /etc/profile >then it stops working, and the double-tab lists the directories available >from the cwd, and not the commands. Has someone else meet this problem >before, or am i doing something wrong? > >This is my '/etc/profile': >- --- ># System profile > >PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin >export PATH >trap ":" INT QUIT TERM > >export PS1="\h \w # " Thanks. Patch attached. --w vodz
* Vodz last_patch_125_2, this patch have: Glenn L McGrath2004-02-041-12/+58
| | | | | | | - synced with dash 0.4.21 - better handle trap "cmds..." SIGINT (strange, i make bad hack for ash and cmdedit, but this work only with this...) - may be haven`t problem with Ctrl-D
* Fix compile error when tab completion disabledGlenn L McGrath2004-01-251-1/+1
|
* Vodz last_patch_122, Check $PATH at runtime to fix tab completionGlenn L McGrath2004-01-141-0/+3
|
* Vodz last_patch_121, syncing with dash_0.4.19, reduce code size.Glenn L McGrath2004-01-131-162/+127
|
* Fix for "Broken pipe" issue, vodz last_patch116_3Glenn L McGrath2003-11-251-1/+1
|
* Fix a "broken pipe" problem. vodz, last_patch_116-2Glenn L McGrath2003-11-141-5/+1
|
* last_patch116 from vodz:Eric Andersen2003-10-221-10/+18
| | | | | | | | | | | | | | | | | | | | | | | Stephane, >Using busybox+uclibc, crond syslog messages look like: > >Oct 9 09:04:46 soekris cron.notice crond[347]: ^Icrond 2.3.2 dillon, >started, log level 8 Thanks for testing. >The attached patch corrects the problem. Your patch is not correct. Correct patch attached. Also. Last patch have - add "Broken pipe" message to ash.c - busybox ash synced with dash_0.4.18 --w vodz
* Patch by Junio C Hamano to workaround a gcc compiler bug.Glenn L McGrath2003-09-171-22/+23
| | | | | | | | | | | | | | | | | | | The construct certain vintages of GCC (the one I have trouble with is 3.2.3) have trouble with looks like the following: static struct st a; static struct st *p = &a; struct st { int foo; }; static void init(void) { a.foo = 0; } The problem disappears if we move the struct declaration up to let the compiler know the shape of the struct before the first definition uses it, like this: struct st { int foo; }; /* this has been moved up */ static struct st a; static struct st *p = &a; static void init(void) { a.foo = 0; }
* Patch from Bastian Blank to fix a problem when runing find under ash.Glenn L McGrath2003-09-151-3/+3
| | | | | | | | | | "If the shell is compiled with -DJOBS, this is all fine -- find wasn't stopped (it was killed), so it correctly uses WTERMSIG instead of WSTOPSIG. However, if the shell _isn't_ compiled with -DJOBS (which it isn't in d-i), only WSTOPSIG is used, which extracts the high byte instead of the low byte from the status code. Since the status code is 13 (SIGPIPE), "st" suddenly gets the value 0, which is equivalent to SIGEXIT. Thus, ash prints out "EXIT" on find's exit."
* Patch by Jean Wolter to fix a bug where a script wouldnt be executedGlenn L McGrath2003-09-151-1/+4
| | | | | | | | | | | | unless it had #!/bin/sh in the first line "It correctly locates the script, tries to execute it via execve which fails. After that it tries to hand it over to /bin/sh which fails too, since ash - neither provides the absolute pathname to /bin/sh - nor tries to lookup the script via PATH if called as "sh script" "
* move all "-/bin/sh" "/bin/sh" and "sh" to libbb/messages.c file as oneGlenn L McGrath2003-09-021-1/+1
| | | | | constant. Vodz last_patch_107
* Fix compile error and reducing size for libbb/get_console.c to previous size.Glenn L McGrath2003-09-011-2/+2
| | | | Vodz last_patch106
* vodz, last patch 103Glenn L McGrath2003-08-291-64/+45
|
* Rewrite timescmd() function to avoid the use of floating point and toManuel Novoa III2003-08-131-16/+24
| | | | | correct a bug in the seconds display where something like 65 seconds would be output as "1m65.000000s".
* Latest dash update from vodzEric Andersen2003-08-061-152/+909
|
* Fixup typo noticed by Nick FedchikEric Andersen2003-07-291-1/+1
|
* Vladimir N. Oleynik writes:Eric Andersen2003-07-291-26/+94
| | | | | | | | Last patch have synced form Manuel Nova III xxreadtoken() function, corrected (C) form dash debian/copyright, removed my small mistake with IFS_BROKEN (thanks by Herbert), and synced cmdedit.c from current CVS (removed libc5 support, your email correction, my (C) year corertion).
* This is synced from dash-0.4.17 and full ready for insert to new busyboxEric Andersen2003-07-281-6700/+7085
| | | | | | | | | | | version: ftp://ftp.simtreas.ru/pub/my/bb/new News: - code is smalest! - support ${var...} expr - used new very strongly steal controlling terminal
* Update a bunch of docs. Run a script to update my email addr.Eric Andersen2003-07-141-1/+1
|
* Major coreutils update.Manuel Novoa III2003-03-191-16/+16
|
* Only call free if it is necessaryEric Andersen2003-01-141-1/+2
|
* Minor cleanup, identified by Stewart Brodie, patch by Vladimir N.Glenn L McGrath2003-01-061-7/+4
| | | | Oleynik
* Fix STANDALONE_SHELL and ALWAYS_WIN options, last_path_73 by Vladimir N. OleynikGlenn L McGrath2002-12-231-9/+23
|
* Small bugfix, last_patch72 from Vladimir N. OleynikGlenn L McGrath2002-12-111-1/+1
|
* Command line history changes, lastpatch_71 from Vladimir N. OleynikGlenn L McGrath2002-12-091-8/+40
|
* - the number of commands in the history list is now configureable via theRobert Griebl2002-12-031-0/+9
| | | | | | | config system - added a new config option to allow persistant history lists. This is currently only used by ash, but the calls ({load,save}_history) could be added to the other shells as well.
* Fix warningEric Andersen2002-10-221-0/+1
|
* Apply last_patch51_3 from vodzEric Andersen2002-10-221-1/+15
|
* Don't even try to run ash on uClinux. It won't work.Eric Andersen2002-09-301-4/+4
| | | | -Erik
* Patch from "Joe.C" <joe@numa.com.tw>Eric Andersen2002-09-171-1/+14
|
* Apply vodz last_path_51-2Glenn L McGrath2002-08-231-395/+171
|
* Run through indent, fix commentsGlenn L McGrath2002-08-221-2790/+2705
|
* Remove ckfree, and replace all references with free. Remove freefunc,Aaron Lehmann2002-08-021-59/+41
| | | | | which is also equivilent to free. Remove some if(x)free(x) redundancies.
* Fixup warnings and undefined operations that show up in gcc-3.1Eric Andersen2002-07-111-2/+2
| | | | -Erik
* Patch from Stewart Brodie <stewart.brodie@pace.co.uk> to fix ash:Eric Andersen2002-07-041-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When alias support is not configured, ash believes that command parameters that look like dd's "if=/dev/zero" are requests to set a temporary environment variable whilst dd is running, even though it appears after the command name. This is caused by the re-use of the checkalias global variable to indicate when both alias checking and environment variable checking. The failure to reset this flag is due to the reset action being performed only inside the feature check CHECK_ASH_ALIAS. Hence ash works as expected when aliases are configured in, and fails when not. Example script using 'date' with different settings of TZ: # TZ=Europe/London # export TZ # date Thu May 30 17:18:49 BST 2002 # TZ=America/New_York date Thu May 30 12:19:10 EDT 2002 # date Thu May 30 17:19:12 BST 2002 # date TZ=America/New_York Thu May 30 12:19:30 EDT 2002 <----- wrong, should be BST time (or error!) # date Thu May 30 17:19:35 BST 2002 Attached is a patch against revision 1.52 of ash.c which moves the checks so that checkalias is updated regardless of whether CONFIG_ASH_ALIAS is set. With this patch applied, the command shown above which should generate an error does generate an error. I have tested this patch with the 'dd' command too and that now works correctly.
* Scrub pwd.h and grp.h handling so we don't have to play anyEric Andersen2002-07-031-2/+2
| | | | | silly games. -Erik
* Patch from vodz to only setenv PATH when PATH changes, which is muchEric Andersen2002-06-061-3/+3
| | | | smarter than my quick fix.
* Fix for broken handling off BusyBox's own pwd/grp implementationsRobert Griebl2002-06-041-2/+2
| | | | [Parts of this patch may overlap with my other two patches]
* Add --login support. This is the bash way of starting a shell that shouldRobert Griebl2002-05-141-3/+10
| | | | parse the profile files.
* Ensure that getenv("PATH") stays current, since otherwise cmdeditEric Andersen2002-04-261-1/+3
| | | | | | (which calls getenv("PATH")) would not operate upon the current PATH settings, which was really quite iritating. -Erik
* vodz noted this line (as imported from Debian) is wrong, and has sinceEric Andersen2002-04-241-2/+2
| | | | been fixed upstream.
* make ash prompt the same as other shells if cmdedit and fancypromptTim Riker2002-04-131-4/+7
|
* Make private ash config options be publicEric Andersen2002-01-091-125/+85
|
* ash patch: errname-diffAaron Lehmann2001-12-311-2/+2
|
* ash patch: initvar-diffAaron Lehmann2001-12-311-2/+2
|