aboutsummaryrefslogtreecommitdiff
path: root/shell/ash.c
AgeCommit message (Collapse)Author
2004-04-12Peter Milne writes:Eric Andersen
Just upgraded from 0.6 to 1.00-pre8 Dot command handling handled args correctly (same as bash) in 0.60, but failed in 1.00: I fixed this by reverting the dotcmd function back to previous 0.60 instantiation, please consider using the older version. Thanks Peter
2004-04-07Remove the CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN option. It was sortofEric Andersen
stupid and didn't work properly anyways.
2004-04-05Per suggestion by Pawel Sakowski, fix the dash_arith() prototypeEric Andersen
to return a long. We were needlessly truncating to an int.
2004-03-16Patch from vodz to fix the dynamic vars patch, which I should notEric Andersen
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
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
2004-03-11Paul Mundt, lethal at linux-sh dot org writes:Eric Andersen
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 $
2004-02-18Fix vstype[] to match VS* defines. Patch from OpenWrt by mbm.Manuel Novoa III
2004-02-06Patch from vodz, based on bug report from Richard Kojedzinszky:Eric Andersen
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
2004-02-04Vodz last_patch_125_2, this patch have: Glenn L McGrath
- 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
2004-01-25Fix compile error when tab completion disabledGlenn L McGrath
2004-01-14Vodz last_patch_122, Check $PATH at runtime to fix tab completionGlenn L McGrath
2004-01-13Vodz last_patch_121, syncing with dash_0.4.19, reduce code size.Glenn L McGrath
2003-11-25Fix for "Broken pipe" issue, vodz last_patch116_3Glenn L McGrath
2003-11-14Fix a "broken pipe" problem. vodz, last_patch_116-2Glenn L McGrath
2003-10-22last_patch116 from vodz:Eric Andersen
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
2003-09-17Patch by Junio C Hamano to workaround a gcc compiler bug.Glenn L McGrath
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; }
2003-09-15Patch from Bastian Blank to fix a problem when runing find under ash.Glenn L McGrath
"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."
2003-09-15Patch by Jean Wolter to fix a bug where a script wouldnt be executedGlenn L McGrath
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" "
2003-09-02move all "-/bin/sh" "/bin/sh" and "sh" to libbb/messages.c file as oneGlenn L McGrath
constant. Vodz last_patch_107
2003-09-01Fix compile error and reducing size for libbb/get_console.c to previous size.Glenn L McGrath
Vodz last_patch106
2003-08-29vodz, last patch 103Glenn L McGrath
2003-08-13Rewrite timescmd() function to avoid the use of floating point and toManuel Novoa III
correct a bug in the seconds display where something like 65 seconds would be output as "1m65.000000s".
2003-08-06Latest dash update from vodzEric Andersen
2003-07-29Fixup typo noticed by Nick FedchikEric Andersen
2003-07-29Vladimir N. Oleynik writes:Eric Andersen
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).
2003-07-28This is synced from dash-0.4.17 and full ready for insert to new busyboxEric Andersen
version: ftp://ftp.simtreas.ru/pub/my/bb/new News: - code is smalest! - support ${var...} expr - used new very strongly steal controlling terminal
2003-07-14Update a bunch of docs. Run a script to update my email addr.Eric Andersen
2003-03-19Major coreutils update.Manuel Novoa III
2003-01-14Only call free if it is necessaryEric Andersen
2003-01-06Minor cleanup, identified by Stewart Brodie, patch by Vladimir N.Glenn L McGrath
Oleynik
2002-12-23Fix STANDALONE_SHELL and ALWAYS_WIN options, last_path_73 by Vladimir N. OleynikGlenn L McGrath
2002-12-11Small bugfix, last_patch72 from Vladimir N. OleynikGlenn L McGrath
2002-12-09Command line history changes, lastpatch_71 from Vladimir N. OleynikGlenn L McGrath
2002-12-03 - the number of commands in the history list is now configureable via theRobert Griebl
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.
2002-10-22Fix warningEric Andersen
2002-10-22Apply last_patch51_3 from vodzEric Andersen
2002-09-30Don't even try to run ash on uClinux. It won't work.Eric Andersen
-Erik
2002-09-17Patch from "Joe.C" <joe@numa.com.tw>Eric Andersen
2002-08-23Apply vodz last_path_51-2Glenn L McGrath
2002-08-22Run through indent, fix commentsGlenn L McGrath
2002-08-02Remove ckfree, and replace all references with free. Remove freefunc,Aaron Lehmann
which is also equivilent to free. Remove some if(x)free(x) redundancies.
2002-07-11Fixup warnings and undefined operations that show up in gcc-3.1Eric Andersen
-Erik
2002-07-04Patch from Stewart Brodie <stewart.brodie@pace.co.uk> to fix ash:Eric Andersen
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.
2002-07-03Scrub pwd.h and grp.h handling so we don't have to play anyEric Andersen
silly games. -Erik
2002-06-06Patch from vodz to only setenv PATH when PATH changes, which is muchEric Andersen
smarter than my quick fix.
2002-06-04Fix for broken handling off BusyBox's own pwd/grp implementationsRobert Griebl
[Parts of this patch may overlap with my other two patches]
2002-05-14Add --login support. This is the bash way of starting a shell that shouldRobert Griebl
parse the profile files.
2002-04-26Ensure that getenv("PATH") stays current, since otherwise cmdeditEric Andersen
(which calls getenv("PATH")) would not operate upon the current PATH settings, which was really quite iritating. -Erik
2002-04-24vodz noted this line (as imported from Debian) is wrong, and has sinceEric Andersen
been fixed upstream.
2002-04-13make ash prompt the same as other shells if cmdedit and fancypromptTim Riker