summary refs log tree commit diff
path: root/src (follow)
Commit message (Collapse)AuthorAge
* Copyright/licence updates and remove all traces of sys/cdefs.hHerbert Xu2005-10-29
| | | | | | | | | | | 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.
* [INPUT] Size optimisations in preadbuffer()Herbert Xu2005-10-26
| | | | | | | Added unlikely markers. Reduced switch coverage. Removed p since we now erase NULs as soon as we see them. Use more to store parselleft.
* [INPUT] Fix NUL skipping in preadbufferHerbert Xu2005-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Added eflag fixes for trap and minusc.herbert2005-09-26
| | | | | | Let evaltree handle traps from cmdloop. Reset evalskip after minusc is executed. Stop executing traps once SKIPEVAL is seen.
* Removed unnecessary inclusion of eval.h from parser.c.herbert2005-09-26
|
* Let evaltree handle traps from cmdloop.herbert2005-09-26
|
* Handle SKIPEVAL in read_profile by exiting.herbert2005-09-26
|
* Removed unnecessary inclusion of main.h from eval.c.herbert2005-09-26
|
* Generalise setinputfile for use in read_profile/readcmdfile.herbert2005-09-26
|
* Removed some unnecessary inclusions of input.h.herbert2005-09-26
|
* Turn evalskip into a bit field.herbert2005-09-26
| | | | This allows SKIPEVAL and SKIPFUNC to coexist which is needed for eval return 1.
* Eliminate first null termination in setvar.herbert2005-09-26
|
* Add trailing equal sign in setvar for variables set to null.pape2005-09-26
|
* Get rid of duplicate -g -O2 in CFLAGS.herbert2005-09-26
|
* Cleaned up src/Makefile.am.herbert2005-09-26
|
* Fixed support for cross-compilation.gilles.chanteperdrix2005-09-26
|
* Do not clobber exit status in dotcmd.herbert2005-09-26
|
* Removed redundant setstackmark from dotcmd.herbert2005-09-26
|
* Removed qflag.herbert2005-09-26
|
* Invert return value of test_eaccess and rename it to test_st_mode.herbert2005-09-26
|
* Eliminate duplicate stat in test_eaccess.herbert2005-09-26
|
* Optimised FILGZ test.herbert2005-09-26
|
* Enclose abort insode ifdef DEBUG.herbert2005-09-26
|
* Renamed error to sh_error.herbert2005-09-26
|
* Normalise input in likely/unlikely macros.herbert2005-09-26
|
* Removed expcmd built-in.herbert2005-09-26
|
* Only set skipcount for break and continue.herbert2005-09-26
|
* Update funcnest atomically.herbert2005-09-26
|
* Replaced EXEVAL with SKIPEVAL.herbert2005-09-26
|
* Corrected that/than typo in manual page.agcosta2005-09-26
|
* Optimise away status and case statement in main().herbert2005-09-26
|
* Eliminated global exerrno.herbert2005-09-26
|
* Only reread exitstatus on EXEXIT in exitshell.herbert2005-09-26
|
* Do not clobber exit status on EXEVAL.herbert2005-09-26
|
* Size optimisations with state/s in main().herbert2005-09-26
|
* Corrected grammar in manual page.agcosta2005-09-26
|
* Catch set -e exits within built-in commands.herbert2005-09-26
|
* Changed boolean rootshell into shlvl counter.herbert2005-09-26
|
* Corrected manual entry about ENV and non-interactive shells.pape2005-09-26
|
* Spell behaviour consistently in manual page.pape2005-09-26
|
* Fixed spelling errors in manual page.agcosta2005-09-26
|
* Fixed signed char promotion in src/expand.c.herbert2005-09-26
|
* Size optimisations around varvalue() in src/expand.c.herbert2005-09-26
|
* Fixed expansion when leading argument is null in src/expand.c.herbert2005-09-26
|
* Allow negative pid argument to kill(1) in src/jobs.c.herbert2005-09-26
|
* Fixed cd - when OLDPWD is unset.herbert2005-09-26
|
* Initial import.Herbert Xu2005-09-26