Magnus Hagander wrote:
> have this about PQfreemem():
>
> Frees memory allocated by <application>libpq</>, particularly
> <function>PQescapeByteaConn</function>,
> <function>PQescapeBytea</function>,
> <function>PQunescapeBytea</function>,
> and <function>PQnotifies</function>.
> It is needed by Microsoft Windows, which cannot free memory across
> DLLs, unless multithreaded DLLs (<option>/MD</option> in VC6) are used.
> On other platforms, this function is the same as the standard library
> function <function>free()</>.
> </para>
>
>
>
> That's also a very old comment, dating back to when we could build libpq
> with VC6 only and nothing else. Now we can build with MinGW, Borland,
> VC2005 and I think also VC2003. Which would add the note that this is
> also depending on *which compiler* and *which compiler version*.
> The /MD mention is just one of several different options to select the
> runtime libraries, so it seems really misplaced.
>
> Now, there are two options for this. Either we fix it (I can put
> together a patch), or we remove it altogether. To me, it seems to be
> just an implementation detail and some kind of explanation why we're
> doing it - which would live better in a source code comment than in the
> docs.
> This includes the part about how it's just the same as free() on other
> platforms. That's just an implementation detail, and I assume we don't
> want people to rely on that - in case we ever want to change it in the
> future for some reason. (the doc for the other functions say you have to
> use PQfreemem without mentioning any exceptions)
>
> Thoughts? Rip out or update?
Are you saying that almost all Win32 binaries and libraries now can free
across DLLs?
-- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +