ash: expand: Fix ghost fields with unquoted $@/$*
Upstream commit:
    Date: Fri, 23 Mar 2018 18:58:47 +0800
    expand: Fix ghost fields with unquoted $@/$*
    You're right.  The proper fix to this is to ensure that nulonly
    is not set in varvalue for $*.  It should only be set for $@ when
    it's inside double quotes.
    In fact there is another bug while we're playing with $@/$*.
    When IFS is set to a non-whitespace character such as :, $*
    outside quotes won't remove empty fields as it should.
    This patch fixes both problems.
    Reported-by: Martijn Dekker <martijn@inlv.org>
    Suggested-by: Harald van Dijk <harald@gigawatt.nl>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
function                                             old     new   delta
argstr                                              1111    1113      +2
evalvar                                              571     569      -2
varvalue                                             579     576      -3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 2/-5)               Total: -3 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
			
			
This commit is contained in:
		
							
								
								
									
										4
									
								
								shell/ash_test/ash-vars/var_wordsplit_ifs5.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-vars/var_wordsplit_ifs5.tests
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
IFS=
 | 
			
		||||
set --
 | 
			
		||||
set -- $@ $*
 | 
			
		||||
echo Zero:$#
 | 
			
		||||
		Reference in New Issue
	
	Block a user