aboutsummaryrefslogtreecommitdiff
path: root/shell/ash.c
AgeCommit message (Collapse)Author
2006-01-25Add more bash-like dot-dirs cmdedit feature"Vladimir N. Oleynik"
Close bug 648. Restore my whitespace
2006-01-25just whitespaceTim Riker
2006-01-22- add platform.h.Bernhard Reutner-Fischer
- use shorter boilerplate while at it.
2006-01-19restore 8-bit syntax works, last debian patch is broken. Noticed by Vladimir ↵"Vladimir N. Oleynik"
Dronnikov
2006-01-15sync with dash_0.5.3-1"Vladimir N. Oleynik"
2005-12-15sync license from mainstream"Vladimir N. Oleynik"
2005-12-13remove sigsetmask, noticed by Bernhard"Vladimir N. Oleynik"
2005-10-15common BUFSIZ BSS buffer, small reduce code, data and bss"Vladimir N. Oleynik"
2005-09-26correct set prompt if CONFIG_ASH_EXPAND_PRMT enabled, small automatic ↵"Vladimir N. Oleynik"
space->tabs convert by my personal editor
2005-09-07committing:Paul Fox
Summary 0000242: ash: read -t broken this also implements -n and -s options to read. (they're configured together because most of their code is in common, and separating them seemed silly.
2005-09-051) sync with dash_0.5.2-7"Vladimir N. Oleynik"
2) but expand PS# as config option 3) correct kill error message again 4) remove show "line number" for interactive run (patch pending for dash)
2005-08-14Patch from Stephane Billiart to improve ash error message.Rob Landley
2005-08-09implemented a builtin echo command in ash. moved the guts of thePaul Fox
echo applet into libbb, and now call bb_echo() from both echo.c and ash.c
2005-08-04commiting:Paul Fox
0000025: vi-editing mode for ash
2005-07-21revert 10881, and refix by changing "if (vallen)" to "if (val)". thisPaul Fox
is per the upstream fix for dash, in dash_0.5.2-6.diff. thanks vodz, for catching this.
2005-07-20applying fix for:Paul Fox
0000261: Unsafe empty env var export in ash
2005-07-20applying fix from:Paul Fox
0000152: ash: quoting rules for local variables different to globals
2005-05-07This one's from me. Fix ash "standalone shell".Rob Landley
If we exec /proc/self/exe and only fall back to /bin/busybox if /proc isn't there, then we have a reasonable chance of having the standalone shell work even if busybox isn't installed in /bin on the system in question. Still won't work in a chroot environment, but it's an improvement.
2005-02-10- no need to check if JOBS is defined. Config.in ensures it.Ned Ludd
2005-02-09- add ash read -t timeout support. initial code provided by Tim Yamin on ↵Ned Ludd
Oct/21/2004 on the busybox mailing list. Edited his code a little to keep syntax highlighers happy and make it optional when CONFIG_ASH_TIMEOUT is defined
2004-10-08Fix CONFIG_ASH_MATH_SUPPORT_64 so it actually worksEric Andersen
2004-10-08Hiroshi Ito writes:Eric Andersen
ash "unset OLDPWD; cd -" causes segmentation fault. ( OLDPWD is not set when sh is invoked from getty. ) patch against current CVS is attached.
2004-09-08Patrick Huesmann noticed BusyBox would not link whenEric Andersen
CONFIG_FEATURE_COMMAND_EDITING was defined *and* CONFIG_FEATURE_COMMAND_TAB_COMPLETION was undefined. Vladimir N. Oleynik writes: Its declare always, also if CONFIG_FEATURE_COMMAND_TAB_COMPLETION undefined. Patch to CVS version attached. --w vodz
2004-08-19Patch from Vladimir N. Oleynik:Eric Andersen
On Wed Aug 18, 2004 at 06:52:57PM +0800, Matt Johnston wrote: > I've come across some strange-seeming behaviour when running programs > under Busybox (1.0.0-rc3) ash. If the child process sets stdin to be > non-blocking and then exits, the parent ash will also exit. A quick strace > shows that a subsequent read() from stdin returns EAGAIN (as would be > expected): Thanks! Patch attached. --w vodz
2004-08-06Patch from Tito to fix warnings about redifined functionions barrier and likely.Glenn L McGrath
2004-07-24Paul Whittaker writes:Eric Andersen
With job control enabled, ash fails to tcsetpgrp back to initialpgrp upon exit. exitshell() should call setjobctl(0) to do this. Context: I am using a lightweight menu system (replimenu[.sf.net]) on my console, which invokes "/bin/sh -i -c /bin/login", where /bin/sh and /bin/login are busybox applets. /bin/sh is ash, with CONFIG_ASH_JOB_CONTROL=y as the sole suboption. The shell of the user concerned (nobody) is also /bin/sh (ash). When the user /bin/sh exits (and thereby login and its parent sh), replimenu receives EIO when it tries to read from the terminal.
2004-07-21Patch from Jean Wolter, fixes compiler warning when ASH_ALIAS isGlenn L McGrath
disabled.
2004-06-25Fix compile error when math support disabled.Glenn L McGrath
2004-06-22Stupidity-1, Erik-0Eric Andersen
2004-06-22Bastian Blank notices a couple of int64_ts that should haveEric Andersen
been longs
2004-06-22Patch from Bastian Blank:Eric Andersen
The updated patch adds a config option to explicitely enable 64 bit arithmetic. Also it removes the arith prototype from libbb.h as it is not used outside of ash. Bastian this patch has been slightly modified by Erik for cleanliness.
2004-04-14Larry Doolittle writes:Eric Andersen
This is a bulk spelling fix patch against busybox-1.00-pre10. If anyone gets a corrupted copy (and cares), let me know and I will make alternate arrangements. Erik - please apply. Authors - please check that I didn't corrupt any meaning. Package importers - see if any of these changes should be passed to the upstream authors. I glossed over lots of sloppy capitalizations, missing apostrophes, mixed American/British spellings, and German-style compound words. What is "pretect redefined for test" in cmdedit.c? Good luck on the 1.00 release! - Larry
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" "