Re: Leaking definitions to user programs

Started by Christof Petigabout 25 years ago2 messages
#1Christof Petig
christof.petig@wtal.de
1 attachment(s)

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:

Show quoted text

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

Attachments:

ecpg.diff.gzapplication/x-gzip; name=ecpg.diff.gzDownload
#2Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Christof Petig (#1)

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, Pennsylvania 19026