On 21/09/2011 12:05 AM, Lionel Elie Mamane wrote:
The following bug has been logged online:

Bug reference:      6216
Logged by:          Lionel Elie Mamane
Email address:      lio...@mamane.lu
PostgreSQL version: 9.1.0
Operating system:   Debian GNU/Linux
Description:        Calling PQconnectdbParams from C++ with a char**
Details:

In C++, a "char**" value is not convertible to a "const char**" value,
because that is not safe (see
http://www.parashift.com/c++-faq-lite/const-correctness.html#faq-18.17).

This means one cannot call libpq's PQconnectdbParams and friends passing
them a "char**" value for keywords and/or values, as these arguments are
declared "const char**".

So please apply this patch, which declares them "char const* const*"
instead, which is:
  - equivalent to "const char * const*"; use that one if you prefer

Yeah, this really annoyed me when I was working with C libraries from C++.

+1 from me; this should be applied.

Lionel: Can I get you to add the patch to the commitfest app?

https://commitfest.postgresql.org/

I'll accept review of it once you do and flag it as ready for committer so we can streamline its inclusion.

As for wording: my *personal* preference is "const char * const" but I don't know what the opinions of those who work with the code day-to-day are.

--
Craig Ringer

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to