From: Charlie Brej Date: Mon, 22 Jun 2009 20:51:27 +0000 (+0100) Subject: [script] Ensure two character operators have no space between characters X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0e57116302fc46c7daf265dab52c20f5b22274b2;p=thirdparty%2Fplymouth.git [script] Ensure two character operators have no space between characters Checks whitespace before the second token is zero. --- diff --git a/src/plugins/splash/script/script-parse.c b/src/plugins/splash/script/script-parse.c index 2c8824da..3d003d33 100644 --- a/src/plugins/splash/script/script-parse.c +++ b/src/plugins/splash/script/script-parse.c @@ -176,7 +176,7 @@ static script_exp* script_parse_exp_pr (ply_scan_t* scan) if (curtoken->type == PLY_SCAN_TOKEN_TYPE_SYMBOL){ if (curtoken->data.symbol == '+'){ - if (peektoken->type == PLY_SCAN_TOKEN_TYPE_SYMBOL && peektoken->data.symbol == '+'){ + if (peektoken->type == PLY_SCAN_TOKEN_TYPE_SYMBOL && peektoken->data.symbol == '+' && !peektoken->whitespace){ ply_scan_get_next_token(scan); ply_scan_get_next_token(scan); type = SCRIPT_EXP_TYPE_PRE_INC; @@ -187,7 +187,7 @@ static script_exp* script_parse_exp_pr (ply_scan_t* scan) } } else if (curtoken->data.symbol == '-'){ - if (peektoken->type == PLY_SCAN_TOKEN_TYPE_SYMBOL && peektoken->data.symbol == '-'){ + if (peektoken->type == PLY_SCAN_TOKEN_TYPE_SYMBOL && peektoken->data.symbol == '-' && !peektoken->whitespace){ ply_scan_get_next_token(scan); ply_scan_get_next_token(scan); type = SCRIPT_EXP_TYPE_PRE_DEC; @@ -223,7 +223,7 @@ static script_exp* script_parse_exp_po (ply_scan_t* scan) ply_scan_token_t* peektoken = ply_scan_peek_next_token(scan); if (curtoken->type != PLY_SCAN_TOKEN_TYPE_SYMBOL) break; if (peektoken->type != PLY_SCAN_TOKEN_TYPE_SYMBOL) break; - if (curtoken->data.symbol == '+' && peektoken->data.symbol == '+') { + if (curtoken->data.symbol == '+' && peektoken->data.symbol == '+' && !peektoken->whitespace) { ply_scan_get_next_token(scan); ply_scan_get_next_token(scan); script_exp* new_exp = malloc(sizeof(script_exp)); @@ -231,7 +231,7 @@ static script_exp* script_parse_exp_po (ply_scan_t* scan) new_exp->data.sub = exp; exp = new_exp; } - else if (curtoken->data.symbol == '-' && peektoken->data.symbol == '-') { + else if (curtoken->data.symbol == '-' && peektoken->data.symbol == '-' && !peektoken->whitespace) { ply_scan_get_next_token(scan); ply_scan_get_next_token(scan); script_exp* new_exp = malloc(sizeof(script_exp)); @@ -306,7 +306,8 @@ static script_exp* script_parse_exp_gt (ply_scan_t* scan) int eq = 0; curtoken = ply_scan_get_next_token(scan); if (curtoken->type == PLY_SCAN_TOKEN_TYPE_SYMBOL && - curtoken->data.symbol == '='){ + curtoken->data.symbol == '=' && + !curtoken->whitespace){ eq = 1; curtoken = ply_scan_get_next_token(scan); } @@ -338,6 +339,7 @@ static script_exp* script_parse_exp_eq (ply_scan_t* scan) if (peektoken->type != PLY_SCAN_TOKEN_TYPE_SYMBOL) break; if (peektoken->data.symbol != '=') break; + if (peektoken->whitespace) break; if ((curtoken->data.symbol != '=') && (curtoken->data.symbol != '!')) break; int ne = (curtoken->data.symbol == '!'); ply_scan_get_next_token(scan); @@ -368,6 +370,7 @@ static script_exp* script_parse_exp_an (ply_scan_t* scan) if (curtoken->data.symbol != '&') break; if (peektoken->data.symbol != '&') break; + if (peektoken->whitespace) break; ply_scan_get_next_token(scan); ply_scan_get_next_token(scan); @@ -395,6 +398,7 @@ static script_exp* script_parse_exp_or (ply_scan_t* scan) if (peektoken->data.symbol != '|') break; if (curtoken->data.symbol != '|') break; + if (peektoken->whitespace) break; ply_scan_get_next_token(scan); ply_scan_get_next_token(scan);