1008 |
/* If the mininum is 1 and the previous item was a character string, |
/* If the mininum is 1 and the previous item was a character string, |
1009 |
we either have to put back the item that got cancelled if the string |
we either have to put back the item that got cancelled if the string |
1010 |
length was 1, or add the character back onto the end of a longer |
length was 1, or add the character back onto the end of a longer |
1011 |
string. For a character type nothing need be done; it will just get put |
string. For a character type nothing need be done; it will just get |
1012 |
back naturally. */ |
put back naturally. Note that the final character is always going to |
1013 |
|
get added below. */ |
1014 |
|
|
1015 |
else if (*previous == OP_CHARS) |
else if (*previous == OP_CHARS) |
1016 |
{ |
{ |
1017 |
if (code == previous) code += 2; else previous[1]++; |
if (code == previous) code += 2; else previous[1]++; |
1018 |
} |
} |
1019 |
|
|
1020 |
|
/* For a single negated character we also have to put back the |
1021 |
|
item that got cancelled. */ |
1022 |
|
|
1023 |
|
else if (*previous == OP_NOT) code++; |
1024 |
|
|
1025 |
/* If the maximum is unlimited, insert an OP_STAR. */ |
/* If the maximum is unlimited, insert an OP_STAR. */ |
1026 |
|
|
1027 |
if (repeat_max < 0) |
if (repeat_max < 0) |