Обсуждение: Re: Leaking definitions to user programs

Поиск
Список
Период
Сортировка

Re: Leaking definitions to user programs

От
Christof Petig
Дата:
Hi Bruce, Hi Michael,

here is the really short patch for shutting out all postgres definitions
from ecpg
programs. (e.g. Datum, Pointer, DEBUG, ERROR).
Someone really should take a look into libpq and do the same.
But I had to copy a small part of c.h (bool,true,false,TRUE,FALSE) into
ecpg/include/libecpg.h. And ... there is a possible bug in c.h. You
can't check a
typedef via #ifndef.

typedef char bool;
...
#ifndef bool
typedef char bool;
#endif

will fail. But I don't know any decent solution to that problem!
Perhaps c.h should be broken into seperate parts.

Christof

PS: to Jacek: you need this patch to compile libcommon++.a!

Bruce Momjian wrote:

> Thanks.
>
> > > Yes, leaking into user programs is a bad practice.  Is there a
> > > solution/patch for that?
> >
> > A solution would be a simple patch which is not available yet. But I plan on
> > doing one (some other things still have higher priority).
> >
> > Christof
Вложения

Re: Leaking definitions to user programs

От
Bruce Momjian
Дата:
You may find 7.1beta has fixed this.  I know some include files were
rearranged in 7.1.

> Hi Bruce, Hi Michael,
> 
> here is the really short patch for shutting out all postgres definitions
> from ecpg
> programs. (e.g. Datum, Pointer, DEBUG, ERROR).
> Someone really should take a look into libpq and do the same.
> But I had to copy a small part of c.h (bool,true,false,TRUE,FALSE) into
> ecpg/include/libecpg.h. And ... there is a possible bug in c.h. You
> can't check a
> typedef via #ifndef.
> 
> typedef char bool;
> ...
> #ifndef bool
> typedef char bool;
> #endif
> 
> will fail. But I don't know any decent solution to that problem!
> Perhaps c.h should be broken into seperate parts.
> 
> Christof
> 
> PS: to Jacek: you need this patch to compile libcommon++.a!
> 
> Bruce Momjian wrote:
> 
> > Thanks.
> >
> > > > Yes, leaking into user programs is a bad practice.  Is there a
> > > > solution/patch for that?
> > >
> > > A solution would be a simple patch which is not available yet. But I plan on
> > > doing one (some other things still have higher priority).
> > >
> > > Christof

[ application/x-gzip is not supported, skipping... ]


--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026