Re: PQclientEncoding() returns -1, resulting in possible assertion failure in psql - Mailing list pgsql-bugs

From Tom Lane
Subject Re: PQclientEncoding() returns -1, resulting in possible assertion failure in psql
Date
Msg-id 19770.1395503756@sss.pgh.pa.us
Whole thread Raw
In response to Re: PQclientEncoding() returns -1, resulting in possible assertion failure in psql  (Bruce Momjian <bruce@momjian.us>)
Responses Re: PQclientEncoding() returns -1, resulting in possible assertion failure in psql  (Bruce Momjian <bruce@momjian.us>)
List pgsql-bugs
Bruce Momjian <bruce@momjian.us> writes:
> OK, hearing nothing, I dug into this, and I think the solution is
> simpler than we thought.  Basically, the Assert is checking for the
> encoding value to be in a valid range, but the main code is also
> checking for an invalid encoding and returning PG_SQL_ASCII:

Agreed that that's pretty useless.  I wonder though why these functions
are not coded like

       return PG_VALID_ENCODING(encoding) ?
           ((*pg_wchar_table[encoding].mblen) ((const unsigned char *) mbstr)) :
           ((*pg_wchar_table[PG_SQL_ASCII].mblen) ((const unsigned char *) mbstr)));

instead of the hard-to-read explicit range check.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: PQclientEncoding() returns -1, resulting in possible assertion failure in psql
Next
From: Tom Lane
Date:
Subject: Re: PQclientEncoding() returns -1, resulting in possible assertion failure in psql