Tom Lane <tgl@sss.pgh.pa.us> writes:
>> Hmm, seems like plpgsql is also broken for multibyte encodings. it
>> contains some single-byte ops, like the following:
>
>> while (*s && isspace((unsigned char) *s))
>> s++;
>> if (*s++ != '.')
>> elog(ERROR, "expected dot between identifiers: %s", sstart);
>
> That code is not broken ... at least not unless isspace() is.
OK, sorry for the FUD, I'm just trying to find a cause... I will not
bring such ungrounded accusations next time.
But... maybe I misunderstand something fundamental, but should isspace
work when we pass one byte of multibyte character?
I'm digging this procedure (plpgsql_convert_ident()) and will report
if I find something wrong inside it and not inside isspace.
--
WBR, Victor V. Snezhko
E-mail: snezhko@indorsoft.ru