Martin v. Löwis wrote: > Christoph Zwerschke wrote: >> I understand what you mean. But the Postgres dll provides no means to >> fdopen a new stream. > > Right. So you must do so in the pygresql module. That means you have > to get hold of msvcrt.dll's (sic) fdopen implementation. > > One way to do so would be through linking pygresql to msvcrt.dll, > instead of linking it to msvcr71.dll.
I think this would only shift the problem. Because then I would have to convert the msvcr71 stream I get from Python to a msvcrt stream. Using fileno() (of msvcrt) to get the file descriptor will probably not work. > The other option is to use GetProcAddress to obtain the address of > fdopen. That would be an option. However, I would need to know the handle of the PostgreSQL dll module. Is there an easy way to get it (without having to hard-code the explicit name of the dll)? In any way, it seems I have to insert a lot of platform-dependent, ugly code. In my case, it is probably easier to simply mimic the Postgres PQprint() function provided by the dll in PyGreSQL. It is not such a complicated thing. Plus it is only called with fixed parameters, so I don't need the complete functionality. PQprint() is considered obsolete anyway and may vanish one day. But thanks a lot for your help. Sometimes you don't know whether you're doing something terribly wrong or missing a very easy solution if you don't discuss with others. -- Christoph -- http://mail.python.org/mailman/listinfo/python-list