Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | [INPUT] Size optimisations in preadbuffer() | Herbert Xu | 2005-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 preadbuffer | Herbert Xu | 2005-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. | herbert | 2005-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. | herbert | 2005-09-26 |
| | |||
* | Let evaltree handle traps from cmdloop. | herbert | 2005-09-26 |
| | |||
* | Handle SKIPEVAL in read_profile by exiting. | herbert | 2005-09-26 |
| | |||
* | Removed unnecessary inclusion of main.h from eval.c. | herbert | 2005-09-26 |
| | |||
* | Generalise setinputfile for use in read_profile/readcmdfile. | herbert | 2005-09-26 |
| | |||
* | Removed some unnecessary inclusions of input.h. | herbert | 2005-09-26 |
| | |||
* | Turn evalskip into a bit field. | herbert | 2005-09-26 |
| | | | | This allows SKIPEVAL and SKIPFUNC to coexist which is needed for eval return 1. | ||
* | Eliminate first null termination in setvar. | herbert | 2005-09-26 |
| | |||
* | Add trailing equal sign in setvar for variables set to null. | pape | 2005-09-26 |
| | |||
* | Get rid of duplicate -g -O2 in CFLAGS. | herbert | 2005-09-26 |
| | |||
* | Cleaned up src/Makefile.am. | herbert | 2005-09-26 |
| | |||
* | Fixed support for cross-compilation. | gilles.chanteperdrix | 2005-09-26 |
| | |||
* | Do not clobber exit status in dotcmd. | herbert | 2005-09-26 |
| | |||
* | Removed redundant setstackmark from dotcmd. | herbert | 2005-09-26 |
| | |||
* | Removed qflag. | herbert | 2005-09-26 |
| | |||
* | Optimised FILGZ test. | herbert | 2005-09-26 |
| | |||
* | Enclose abort insode ifdef DEBUG. | herbert | 2005-09-26 |
| | |||
* | Renamed error to sh_error. | herbert | 2005-09-26 |
| | |||
* | Normalise input in likely/unlikely macros. | herbert | 2005-09-26 |
| | |||
* | Removed expcmd built-in. | herbert | 2005-09-26 |
| | |||
* | Only set skipcount for break and continue. | herbert | 2005-09-26 |
| | |||
* | Update funcnest atomically. | herbert | 2005-09-26 |
| | |||
* | Replaced EXEVAL with SKIPEVAL. | herbert | 2005-09-26 |
| | |||
* | Corrected that/than typo in manual page. | agcosta | 2005-09-26 |
| | |||
* | Optimise away status and case statement in main(). | herbert | 2005-09-26 |
| | |||
* | Eliminated global exerrno. | herbert | 2005-09-26 |
| | |||
* | Only reread exitstatus on EXEXIT in exitshell. | herbert | 2005-09-26 |
| | |||
* | Size optimisations with state/s in main(). | herbert | 2005-09-26 |
| | |||
* | Corrected grammar in manual page. | agcosta | 2005-09-26 |
| | |||
* | Catch set -e exits within built-in commands. | herbert | 2005-09-26 |
| | |||
* | Changed boolean rootshell into shlvl counter. | herbert | 2005-09-26 |
| | |||
* | Release 0.5.2. | herbert | 2005-09-26 |
| | | | | TAG: v0.5.2 | ||
* | Corrected manual entry about ENV and non-interactive shells. | pape | 2005-09-26 |
| | |||
* | Spell behaviour consistently in manual page. | pape | 2005-09-26 |
| | |||
* | Fixed spelling errors in manual page. | agcosta | 2005-09-26 |
| | |||
* | Fixed signed char promotion in src/expand.c. | herbert | 2005-09-26 |
| | |||
* | Size optimisations around varvalue() in src/expand.c. | herbert | 2005-09-26 |
| | |||
* | Fixed expansion when leading argument is null in src/expand.c. | herbert | 2005-09-26 |
| | |||
* | Allow negative pid argument to kill(1) in src/jobs.c. | herbert | 2005-09-26 |
| | |||
* | Fixed cd - when OLDPWD is unset. | herbert | 2005-09-26 |
| | |||
* | Include system.h. | herbert | 2005-09-26 |
| | |||
* | Initial import. | Herbert Xu | 2005-09-26 |