summary refs log tree commit diff
path: root/src/shell.h (unfollow)
Commit message (Collapse)Author
2005-10-29[BUILTIN] Stop using sysexits.h in commandcmdHerbert Xu
This gets rid of the only reference of sysexits.h in dash which is from commandcmd. This is needed for klibc support since it doesn't have sysexits.h. The only uses of sysexits.h in commandcmd is superfluous anyway. In fact, it is overly sensitive about usages such as 'command -vV ls'. By making its behaviour close to that of bash/ksh, we end up saving a bit of space too.
2005-10-29[SIGNAL] Use bsd_signal if it exists and signal does notHerbert Xu
klibc has bsd_signal instead of signal. So we will define signal as bsd_signal if 1) signal does not exist. 2) bsd_signal exists.
2005-10-29[SIGNAL] Removed use of __P from error.hHerbert Xu
This is the only instance of __P in the entire source so it makes sense to get rid of it rather than making it work with klibc.
2005-10-29Copyright/licence updates and remove all traces of sys/cdefs.hHerbert Xu
This change updates the BSD licence to the three-clause version since NetBSD has already done so. This makes dash GPL-compatible. It also adds Christos Zoulas (NetBSD ash maintainer) to the COPYING file. I've added "copyright by Herbert Xu" to most files. Finally all CVS IDs and inclusion of sys/cdefs.h have been removed. The latter is needed for support of klibc.
2005-10-26[INPUT] Size optimisations in preadbuffer()Herbert Xu
Added unlikely markers. Reduced switch coverage. Removed p since we now erase NULs as soon as we see them. Use more to store parselleft.
2005-10-01[INPUT] Fix NUL skipping in preadbufferHerbert Xu
On Sun, Sep 25, 2005 at 07:50:54PM +0000, Gerrit Pape wrote: > On Sat, Sep 03, 2005 at 02:56:00PM +0200, Martin Dickopp wrote: > > When analysing the bug I came to the following conclusion: The loop > > beginning at input.c:302 overwrites a single input line with itself, > > skipping NUL characters. Therefore, after the loop the line buffer > > has less characters than originally read if and only if the input line > > contains NUL characters. > > yes. Thanks a lot for the details and patch. > > > The pointer that is used to read from the buffer, 'parsenextc' (cf. > > input.h:66), is also used as the beginning of the next line in > > input.c:296. This fails if the buffer contains less characters > > than originally read into it due to NUL characters. > > > > The proposed patch (attached) keeps track of the number of skipped > > characters and advances 'parsenextc' accordingly before processing > > the next input line. > > Hi Herbert, please see > http://bugs.debian.org/317516 Instead of moving the characters in the loop, we will do memmove every time we see a NUL character. This hurts if there are a lot of NUL characters, but should be a win in normal situations.
2005-09-26Added eflag fixes for trap and minusc.herbert
Let evaltree handle traps from cmdloop. Reset evalskip after minusc is executed. Stop executing traps once SKIPEVAL is seen.
2005-09-26Removed unnecessary inclusion of eval.h from parser.c.herbert
2005-09-26Let evaltree handle traps from cmdloop.herbert
2005-09-26Handle SKIPEVAL in read_profile by exiting.herbert
2005-09-26Removed unnecessary inclusion of main.h from eval.c.herbert
2005-09-26Generalise setinputfile for use in read_profile/readcmdfile.herbert
2005-09-26Removed some unnecessary inclusions of input.h.herbert
2005-09-26Turn evalskip into a bit field.herbert
This allows SKIPEVAL and SKIPFUNC to coexist which is needed for eval return 1.
2005-09-26Eliminate first null termination in setvar.herbert
2005-09-26Add trailing equal sign in setvar for variables set to null.pape
2005-09-26Get rid of duplicate -g -O2 in CFLAGS.herbert
2005-09-26Cleaned up src/Makefile.am.herbert
2005-09-26Fixed support for cross-compilation.gilles.chanteperdrix
2005-09-26Do not clobber exit status in dotcmd.herbert
2005-09-26Removed redundant setstackmark from dotcmd.herbert
2005-09-26Removed qflag.herbert
2005-09-26Invert return value of test_eaccess and rename it to test_st_mode.herbert
2005-09-26Eliminate duplicate stat in test_eaccess.herbert
2005-09-26Optimised FILGZ test.herbert
2005-09-26Enclose abort insode ifdef DEBUG.herbert
2005-09-26Renamed error to sh_error.herbert
2005-09-26Normalise input in likely/unlikely macros.herbert
2005-09-26Removed expcmd built-in.herbert
2005-09-26Only set skipcount for break and continue.herbert
2005-09-26Update funcnest atomically.herbert
2005-09-26Replaced EXEVAL with SKIPEVAL.herbert
2005-09-26Corrected that/than typo in manual page.agcosta
2005-09-26Optimise away status and case statement in main().herbert
2005-09-26Eliminated global exerrno.herbert
2005-09-26Only reread exitstatus on EXEXIT in exitshell.herbert
2005-09-26Do not clobber exit status on EXEVAL.herbert
2005-09-26Size optimisations with state/s in main().herbert
2005-09-26Corrected grammar in manual page.agcosta
2005-09-26Catch set -e exits within built-in commands.herbert
2005-09-26Changed boolean rootshell into shlvl counter.herbert
2005-09-26Release 0.5.2.herbert
TAG: v0.5.2
2005-09-26Corrected manual entry about ENV and non-interactive shells.pape
2005-09-26Removed debian files.herbert
2005-09-26Spell behaviour consistently in manual page.pape
2005-09-26Fixed spelling errors in manual page.agcosta
2005-09-26Fixed signed char promotion in src/expand.c.herbert
2005-09-26Size optimisations around varvalue() in src/expand.c.herbert
2005-09-26Fixed expansion when leading argument is null in src/expand.c.herbert
2005-09-26Allow negative pid argument to kill(1) in src/jobs.c.herbert