* Steve Howe <howe@carcass.dhs.org> [010114 16:52] wrote:
> Hi folks,
>
>
> I'm co-developer of Delphi and Borland C++ Builder Zeos library
> (http://www.zeos.dn.ua) by Sergey Seroukhov which includes support for
> PostgreSQL. In fact, I'm dedicated Zeos PostgreSQL developer.
> We've run into a problem that we can't properly free the PPGnotify
> handle returned by PQnotifies() - simply because Delphi does NOT include
> free() routine (it does have it's own memory management routines of course).
> We could assume MSVC's malloc() is used and import free() from it, like
> this:
> procedure free(P: Pointer); cdecl; external 'msvcrt.dll'; // (which
> is the Delphi/Pascal equivalent of C's free())
>
> - but that would be a crude hack and would probably not work in platforms
> other then windows (Kylix, Delphi's encarnation on Linux, is almost ready as
> most of you should know) or libpq.dll compiled with other C compilers then
> then currently being used.
> That's why we believe a PQnotifyFree() or similar function should be
> implemented since not everybody using libpq.dll is also using MSVC compiler.
> That could also lead to problems in other platforms using compilers with
> different allocation schemes.
> Of course it is trivial to implement such a function and this should
> be no trouble.
>
> Could you please consider it ? Of course nobody wants memory
> corruption in their applications and we don't like having to let those
> records allocated, but we can't currently do much about it.
Actually, you can submit a patch for the library and documentation, I've
had a lot of luck getting the Postgresql developers to accept new/fixed
code.
Add the function and send a patch in context format (diff -c).
Best of luck,
--
-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
"I have the heart of a child; I keep it in a jar on my desk."