mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-21 03:13:05 +08:00
Get rid of useless/dangerous redefinition of bool in ECPG.
pgtypeslib_extern.h contained fallback definitions of "bool", "FALSE", and "TRUE". The latter two are just plain unused, and have been for awhile. The former came into play only if there wasn't a macro definition of "bool", which is true only if we aren't using <stdbool.h>. However, it then defined bool as "char"; since commitd26a810eb
that conflicts with c.h's desire to use "unsigned char". We'd missed seeing any bad effects of that due to accidental header inclusion order choices, butdddf4cdc3
exposed that it was problematic. To fix, let's just get rid of these definitions. They should not be needed because everyplace in Postgres should be relying on c.h to provide a definition for type bool. (Note that despite its name, pgtypeslib_extern.h isn't exposed to any outside code; we don't install it.) This doesn't fully resolve the issue, because ecpglib.h is doing similar things, but that seems to require more thought to fix. Back-patch to v12 whered26a810eb
came in, to forestall any unpleasant surprises from future back-patched bug fixes. Discussion: https://postgr.es/m/CAA4eK1LmaKO7Du9M9Lo=kxGU8sB6aL8fa3sF6z6d5yYYVe3BuQ@mail.gmail.com
This commit is contained in:
parent
22f6f2c1cc
commit
1408d5d869
@ -38,16 +38,4 @@ int pgtypes_fmt_replace(union un_fmt_comb, int, char **, int *);
|
|||||||
char *pgtypes_alloc(long);
|
char *pgtypes_alloc(long);
|
||||||
char *pgtypes_strdup(const char *);
|
char *pgtypes_strdup(const char *);
|
||||||
|
|
||||||
#ifndef bool
|
|
||||||
#define bool char
|
|
||||||
#endif /* ndef bool */
|
|
||||||
|
|
||||||
#ifndef FALSE
|
|
||||||
#define FALSE 0
|
|
||||||
#endif /* FALSE */
|
|
||||||
|
|
||||||
#ifndef TRUE
|
|
||||||
#define TRUE 1
|
|
||||||
#endif /* TRUE */
|
|
||||||
|
|
||||||
#endif /* _ECPG_PGTYPESLIB_EXTERN_H */
|
#endif /* _ECPG_PGTYPESLIB_EXTERN_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user