aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/ecpglib/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/ecpg/ecpglib/misc.c')
-rw-r--r--src/interfaces/ecpg/ecpglib/misc.c103
1 files changed, 58 insertions, 45 deletions
diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c
index f42b8f721e7..e87643d8df5 100644
--- a/src/interfaces/ecpg/ecpglib/misc.c
+++ b/src/interfaces/ecpg/ecpglib/misc.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.12 2003/08/01 13:53:36 petere Exp $ */
+/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.13 2003/08/04 00:43:32 momjian Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
@@ -23,7 +23,7 @@
#define LONG_LONG_MIN LLONG_MIN
#endif
#endif
-
+
static struct sqlca_t sqlca_init =
{
{
@@ -52,8 +52,9 @@ static struct sqlca_t sqlca_init =
};
#ifdef USE_THREADS
-static pthread_key_t sqlca_key;
-static pthread_once_t sqlca_key_once = PTHREAD_ONCE_INIT;
+static pthread_key_t sqlca_key;
+static pthread_once_t sqlca_key_once = PTHREAD_ONCE_INIT;
+
#else
static struct sqlca_t sqlca =
{
@@ -84,22 +85,23 @@ static struct sqlca_t sqlca =
#endif
#ifdef USE_THREADS
-static pthread_mutex_t debug_mutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t debug_init_mutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t debug_mutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t debug_init_mutex = PTHREAD_MUTEX_INITIALIZER;
#endif
-static int simple_debug = 0;
+static int simple_debug = 0;
static FILE *debugstream = NULL;
void
-ECPGinit_sqlca(struct sqlca_t *sqlca)
+ECPGinit_sqlca(struct sqlca_t * sqlca)
{
- memcpy((char *)sqlca, (char *)&sqlca_init, sizeof(struct sqlca_t));
+ memcpy((char *) sqlca, (char *) &sqlca_init, sizeof(struct sqlca_t));
}
bool
ECPGinit(const struct connection * con, const char *connection_name, const int lineno)
{
struct sqlca_t *sqlca = ECPGget_sqlca();
+
ECPGinit_sqlca(sqlca);
if (con == NULL)
{
@@ -115,7 +117,7 @@ ECPGinit(const struct connection * con, const char *connection_name, const int l
static void
ecpg_sqlca_key_init(void)
{
- pthread_key_create(&sqlca_key, NULL);
+ pthread_key_create(&sqlca_key, NULL);
}
#endif
@@ -123,20 +125,20 @@ struct sqlca_t *
ECPGget_sqlca(void)
{
#ifdef USE_THREADS
- struct sqlca_t *sqlca;
-
- pthread_once(&sqlca_key_once, ecpg_sqlca_key_init);
-
- sqlca = pthread_getspecific(sqlca_key);
- if( sqlca == NULL )
- {
- sqlca = malloc(sizeof(struct sqlca_t));
- ECPGinit_sqlca(sqlca);
- pthread_setspecific(sqlca_key, sqlca);
- }
- return( sqlca );
+ struct sqlca_t *sqlca;
+
+ pthread_once(&sqlca_key_once, ecpg_sqlca_key_init);
+
+ sqlca = pthread_getspecific(sqlca_key);
+ if (sqlca == NULL)
+ {
+ sqlca = malloc(sizeof(struct sqlca_t));
+ ECPGinit_sqlca(sqlca);
+ pthread_setspecific(sqlca_key, sqlca);
+ }
+ return (sqlca);
#else
- return( &sqlca );
+ return (&sqlca);
#endif
}
@@ -227,16 +229,17 @@ ECPGlog(const char *format,...)
pthread_mutex_lock(&debug_mutex);
#endif
- if( simple_debug )
+ if (simple_debug)
{
- char *f = (char *)malloc(strlen(format) + 100);
- if( f == NULL )
- {
+ char *f = (char *) malloc(strlen(format) + 100);
+
+ if (f == NULL)
+ {
#ifdef USE_THREADS
pthread_mutex_unlock(&debug_mutex);
#endif
return;
- }
+ }
sprintf(f, "[%d]: %s", (int) getpid(), format);
@@ -258,7 +261,7 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr)
{
switch (type)
{
- case ECPGt_char:
+ case ECPGt_char:
case ECPGt_unsigned_char:
*((char *) ptr) = 0x00;
break;
@@ -307,10 +310,12 @@ ECPGset_informix_null(enum ECPGttype type, void *ptr)
}
}
-static bool _check(unsigned char *ptr, int length)
+static bool
+_check(unsigned char *ptr, int length)
{
- for (;ptr[--length] == 0xff && length >= 0; length --);
- if (length < 0) return true;
+ for (; ptr[--length] == 0xff && length >= 0; length--);
+ if (length < 0)
+ return true;
return false;
}
@@ -319,49 +324,57 @@ ECPGis_informix_null(enum ECPGttype type, void *ptr)
{
switch (type)
{
- case ECPGt_char:
+ case ECPGt_char:
case ECPGt_unsigned_char:
- if (*((char *)ptr) == 0x00) return true;
+ if (*((char *) ptr) == 0x00)
+ return true;
break;
case ECPGt_short:
case ECPGt_unsigned_short:
- if (*((short int *) ptr) == SHRT_MIN) return true;
+ if (*((short int *) ptr) == SHRT_MIN)
+ return true;
break;
case ECPGt_int:
case ECPGt_unsigned_int:
- if (*((int *) ptr) == INT_MIN) return true;
+ if (*((int *) ptr) == INT_MIN)
+ return true;
break;
case ECPGt_long:
case ECPGt_unsigned_long:
case ECPGt_date:
- if (*((long *) ptr) == LONG_MIN) return true;
+ if (*((long *) ptr) == LONG_MIN)
+ return true;
break;
#ifdef HAVE_LONG_LONG_INT_64
case ECPGt_long_long:
case ECPGt_unsigned_long_long:
- if (*((long long *) ptr) == LONG_LONG_MIN) return true;
+ if (*((long long *) ptr) == LONG_LONG_MIN)
+ return true;
break;
#endif /* HAVE_LONG_LONG_INT_64 */
case ECPGt_float:
- return(_check(ptr, sizeof(float)));
+ return (_check(ptr, sizeof(float)));
break;
case ECPGt_double:
- return(_check(ptr, sizeof(double)));
+ return (_check(ptr, sizeof(double)));
break;
case ECPGt_varchar:
- if (*(((struct ECPGgeneric_varchar *) ptr)->arr) == 0x00) return true;
+ if (*(((struct ECPGgeneric_varchar *) ptr)->arr) == 0x00)
+ return true;
break;
case ECPGt_decimal:
- if (((Decimal *) ptr)->sign == NUMERIC_NAN) return true;
+ if (((Decimal *) ptr)->sign == NUMERIC_NAN)
+ return true;
break;
case ECPGt_numeric:
- if (((Numeric *) ptr)->sign == NUMERIC_NAN) return true;
+ if (((Numeric *) ptr)->sign == NUMERIC_NAN)
+ return true;
break;
case ECPGt_interval:
- return(_check(ptr, sizeof(Interval)));
+ return (_check(ptr, sizeof(Interval)));
break;
case ECPGt_timestamp:
- return(_check(ptr, sizeof(Timestamp)));
+ return (_check(ptr, sizeof(Timestamp)));
break;
default:
break;