mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Remove useless character-length checks in contrib/ltree.
The t_iseq() macro does not need to be guarded by a character length check (at least when the comparison value is an ASCII character, as its documentation requires). Some portions of contrib/ltree hadn't read that memo, so simplify them. The last change in gettoken_query, - else if (charlen == 1 && !t_iseq(state->buf, ' ')) + else if (!t_iseq(state->buf, ' ')) looks like it's actually a bug fix: I doubt that the intention was to silently ignore multibyte characters as if they were whitespace. I'm not tempted to back-patch though, because this will have the effect of tightening what is allowed in ltxtquery strings. Discussion: https://postgr.es/m/2548310.1664999615@sss.pgh.pa.us
This commit is contained in:
@ -25,17 +25,16 @@ static char *
|
||||
getlexeme(char *start, char *end, int *len)
|
||||
{
|
||||
char *ptr;
|
||||
int charlen;
|
||||
|
||||
while (start < end && (charlen = pg_mblen(start)) == 1 && t_iseq(start, '_'))
|
||||
start += charlen;
|
||||
while (start < end && t_iseq(start, '_'))
|
||||
start += pg_mblen(start);
|
||||
|
||||
ptr = start;
|
||||
if (ptr >= end)
|
||||
return NULL;
|
||||
|
||||
while (ptr < end && !((charlen = pg_mblen(ptr)) == 1 && t_iseq(ptr, '_')))
|
||||
ptr += charlen;
|
||||
while (ptr < end && !t_iseq(ptr, '_'))
|
||||
ptr += pg_mblen(ptr);
|
||||
|
||||
*len = ptr - start;
|
||||
return start;
|
||||
|
Reference in New Issue
Block a user