Patch from Dmitry Zakharov:
Charlie Brady wrote:
> Here's another awk parsing problem - unary post increment - pre is fine:
>
>bash-2.05a$ echo 2,3 | gawk -F , '{ $2++ }'
>bash-2.05a$ echo 2,3 | /tmp/busybox/busybox awk -F , '{ $2++ }'
>awk: cmd. line:1: Unexpected token
>
Here's a fix for this. There is another problem with constructions like 
"print (A+B) ++C", I don't
know whether somebody uses such constructions (fixing both these 
problems would require very
serious change in awk code).
			
			
This commit is contained in:
		| @@ -1084,7 +1084,7 @@ static node *parse_expr(unsigned long iexp) { | ||||
| 			cn->a.n = vn; | ||||
| 			xtc = TC_OPERAND | TC_UOPPRE | TC_REGEXP; | ||||
| 			if (tc & (TC_OPERAND | TC_REGEXP)) { | ||||
| 				xtc = TC_UOPPRE | TC_BINOP | TC_OPERAND | iexp; | ||||
| 				xtc = TC_UOPPRE | TC_UOPPOST | TC_BINOP | TC_OPERAND | iexp; | ||||
| 				/* one should be very careful with switch on tclass - | ||||
| 				 * only simple tclasses should be used! */ | ||||
| 				switch (tc) { | ||||
| @@ -1101,7 +1101,6 @@ static node *parse_expr(unsigned long iexp) { | ||||
| 						cn->info |= xS; | ||||
| 						cn->r.n = parse_expr(TC_ARRTERM); | ||||
| 					} | ||||
| 					xtc = TC_UOPPOST | TC_UOPPRE | TC_BINOP | TC_OPERAND | iexp; | ||||
| 					break; | ||||
| 				 | ||||
| 				  case TC_NUMBER: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user