diff --git a/src/evaluate.c b/src/evaluate.c index a96efb7..69c01b9 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -993,7 +993,7 @@ static void expr_string_wildcard(struct eval_ctx *ctx, struct expr *rel) mpz_export_data(data, right->value, BYTEORDER_HOST_ENDIAN, len); datalen = strlen(data) - 1; - if (data[datalen] != '*') + if (data[datalen] != '*' || data[datalen - 1] == '\\') return; data[datalen] = '\0'; diff --git a/src/scanner.l b/src/scanner.l index 2a992d3..a902e8f 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -114,7 +114,7 @@ range ({decstring}?:{decstring}?) letter [a-zA-Z] string ({letter})({letter}|{digit}|[/\-_\.])* quotedstring \"[^"]*\" -wildcardstring {string}\* +wildcardstring ({string}\*|{string}\\\*) comment #.*$ slash \/