git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b071a40)
- Argh, just another bug in adjust_informix.
2004年5月10日 13:46:06 +0000 (13:46 +0000)
2004年5月10日 13:46:06 +0000 (13:46 +0000)
- Added "extern C" flags for C++ compiler. Hopefully I got that one right.


diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 2a79f6048ac0cb2f58e6cb2a6e51e60d13a3e973..7226149853b7f6bfad0ae8c25cc6f76defd3ba60 100644 (file)
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -1790,6 +1790,11 @@ Fri May 7 15:34:05 CEST 2004
- Added portability file to pgtypeslib.
- Fixed bug that reversed string length in typedefs.
- Added additional test case.
+
+Mon May 10 15:38:58 CEST 2004
+
+ - Argh, just another bug in adjust_informix.
+ - Added "extern C" flags for C++ compiler.
- Set pgtypes library version to 1.2.
- Set ecpg version to 3.2.0.
- Set compat library version to 1.2.
diff --git a/src/interfaces/ecpg/include/ecpg_informix.h b/src/interfaces/ecpg/include/ecpg_informix.h
index ccf4dd1123fe1cc41d1dccf2550542c9ed1d15ef..2a17202010e74721a7126ff1fb183850ecbf4281 100644 (file)
--- a/src/interfaces/ecpg/include/ecpg_informix.h
+++ b/src/interfaces/ecpg/include/ecpg_informix.h
@@ -1,7 +1,7 @@
/*
* This file contains stuff needed to be as compatible to Informix as possible.
*
- * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpg_informix.h,v 1.14 2003年12月18日 18:55:09 petere Exp $
+ * $PostgreSQL: pgsql/src/interfaces/ecpg/include/ecpg_informix.h,v 1.15 2004年05月10日 13:46:06 meskes Exp $
*/
#ifndef _ECPG_INFORMIX_H
#define _ECPG_INFORMIX_H
@@ -29,6 +29,11 @@
#define ECPG_INFORMIX_BAD_DATE -1218
#define ECPG_INFORMIX_EXTRA_CHARS -1264
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
extern int rdatestr(date, char *);
extern void rtoday(date *);
extern int rjulmdy(date, short *);
@@ -78,4 +83,8 @@ extern int dttofmtasc(timestamp *, char *, int, char *);
extern int intoasc(interval *, char *);
extern int dtcvfmtasc(char *, char *, timestamp *);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* ndef _ECPG_INFORMIX_H */
diff --git a/src/interfaces/ecpg/include/pgtypes_date.h b/src/interfaces/ecpg/include/pgtypes_date.h
index 863b2593d9e024b1220c6fde8ac8e30e659c4de4..0e30823d2f0ccb02d3756a77dd2bf62d3a9228c8 100644 (file)
--- a/src/interfaces/ecpg/include/pgtypes_date.h
+++ b/src/interfaces/ecpg/include/pgtypes_date.h
@@ -4,6 +4,10 @@
#include <pgtypes_timestamp.h>
typedef long date;
+#ifdef __cplusplus
+extern "C"
+{
+#endif
extern date PGTYPESdate_from_asc(char *, char **);
extern char *PGTYPESdate_to_asc(date);
@@ -15,4 +19,8 @@ extern void PGTYPESdate_today(date *);
extern int PGTYPESdate_defmt_asc(date *, char *, char *);
extern int PGTYPESdate_fmt_asc(date, char *, char *);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* PGTYPES_DATETIME */
diff --git a/src/interfaces/ecpg/include/pgtypes_interval.h b/src/interfaces/ecpg/include/pgtypes_interval.h
index 98b29bcd80f2beb798544bc1be97dccd440e158b..c963b1b89e463a1a6584da733e212ed0d3d4360c 100644 (file)
--- a/src/interfaces/ecpg/include/pgtypes_interval.h
+++ b/src/interfaces/ecpg/include/pgtypes_interval.h
@@ -14,8 +14,17 @@ typedef struct
* alignment */
} interval;
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
extern interval *PGTYPESinterval_from_asc(char *, char **);
extern char *PGTYPESinterval_to_asc(interval *);
extern int PGTYPESinterval_copy(interval *, interval *);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* PGTYPES_INTERVAL */
diff --git a/src/interfaces/ecpg/include/pgtypes_numeric.h b/src/interfaces/ecpg/include/pgtypes_numeric.h
index db4d02c2009fee078c8e0c462edaa0f84dab212a..951f7dfc0e6bd5f7f4fb42ba36e07a211780d63e 100644 (file)
--- a/src/interfaces/ecpg/include/pgtypes_numeric.h
+++ b/src/interfaces/ecpg/include/pgtypes_numeric.h
@@ -37,6 +37,11 @@ typedef struct
NumericDigit digits[DECSIZE]; /* decimal digits */
} decimal;
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
numeric *PGTYPESnumeric_new(void);
void PGTYPESnumeric_free(numeric *);
numeric *PGTYPESnumeric_from_asc(char *, char **);
@@ -56,4 +61,8 @@ int PGTYPESnumeric_to_long(numeric *, long *);
int PGTYPESnumeric_to_decimal(numeric *, decimal *);
int PGTYPESnumeric_from_decimal(decimal *, numeric *);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* PGTYPES_NUMERIC */
diff --git a/src/interfaces/ecpg/include/pgtypes_timestamp.h b/src/interfaces/ecpg/include/pgtypes_timestamp.h
index f4a4b0ba3c3b1440859cb7d04f512ef0802109c5..3b93a43e5a66482488898a2580230977605e782c 100644 (file)
--- a/src/interfaces/ecpg/include/pgtypes_timestamp.h
+++ b/src/interfaces/ecpg/include/pgtypes_timestamp.h
@@ -12,6 +12,11 @@ typedef double timestamp;
typedef double TimestampTz;
#endif
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
extern timestamp PGTYPEStimestamp_from_asc(char *, char **);
extern char *PGTYPEStimestamp_to_asc(timestamp);
extern int PGTYPEStimestamp_sub(timestamp *, timestamp *, interval *);
@@ -19,4 +24,8 @@ extern int PGTYPEStimestamp_fmt_asc(timestamp *, char *, int, char *);
extern void PGTYPEStimestamp_current(timestamp *);
extern int PGTYPEStimestamp_defmt_asc(char *, char *, timestamp *);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* PGTYPES_TIMESTAMP */
diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y
index b8642f2b91968e40226ffd9cb31745f0ad43bd1a..572c0fca648ed91509c4ab00baf824622d0c5ac1 100644 (file)
--- a/src/interfaces/ecpg/preproc/preproc.y
+++ b/src/interfaces/ecpg/preproc/preproc.y
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.281 2004年05月07日 13:42:49 meskes Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.282 2004年05月10日 13:46:06 meskes Exp $ */
/* Copyright comment */
%{
@@ -209,7 +209,7 @@ adjust_informix(struct arguments *list)
original_var = ptr->variable->name;
sprintf(temp, "%d))", ecpg_informix_var);
- if (atoi(ptr->variable->type->size) > 1)
+ if ((ptr->variable->type->type != ECPGt_char && ptr->variable->type->type != ECPGt_unsigned_char) && atoi(ptr->variable->type->size) > 1)
{
ptr->variable = new_variable(cat_str(4, make_str("("), mm_strdup(ECPGtype_name(ptr->variable->type->u.element->type)), make_str(" *)(ECPG_informix_get_var("), mm_strdup(temp)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, make_str("1")), ptr->variable->type->size), 0);
sprintf(temp, "%d, (", ecpg_informix_var++);
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /