diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2016-06-12 20:17:48 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2016-09-02 22:10:56 +0800 |
commit | 0e4c9599468ab102e6a612439db6df0248410483 (patch) | |
tree | e1da266bf7d2d64199e4856550e929fda791bcef /src/expand.h | |
parent | eval: Return status in eval functions (diff) | |
download | dash-0e4c9599468ab102e6a612439db6df0248410483.tar.gz dash-0e4c9599468ab102e6a612439db6df0248410483.zip |
builtin: Fix handling of trailing IFS white spaces
The read built-in does not handle trailing IFS white spaces in the right way, when there are more fields than variables. Part of the problem is that this case is handled outside of ifsbreakup. Harald van Dijk wrote a patch to fix this by moving the magic into ifsbreakup itself. This patch further reorganises the ifsbreakup loop by having only one loop over the whole string. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Tested-by: Harald van Dijk <harald@gigawatt.nl>
Diffstat (limited to '')
-rw-r--r-- | src/expand.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/expand.h b/src/expand.h index 6a90f67..26dc5b4 100644 --- a/src/expand.h +++ b/src/expand.h @@ -69,7 +69,7 @@ char *_rmescapes(char *, int); int casematch(union node *, char *); void recordregion(int, int, int); void removerecordregions(int); -void ifsbreakup(char *, struct arglist *); +void ifsbreakup(char *, int, struct arglist *); void ifsfree(void); /* From arith.y */ |