diff options
Diffstat (limited to 'src/interfaces/odbc/misc.c')
-rw-r--r-- | src/interfaces/odbc/misc.c | 147 |
1 files changed, 83 insertions, 64 deletions
diff --git a/src/interfaces/odbc/misc.c b/src/interfaces/odbc/misc.c index 5d0a19c375e..18d7c8c6c4c 100644 --- a/src/interfaces/odbc/misc.c +++ b/src/interfaces/odbc/misc.c @@ -1,14 +1,14 @@ -/* Module: misc.c +/* Module: misc.c * - * Description: This module contains miscellaneous routines - * such as for debugging/logging and string functions. + * Description: This module contains miscellaneous routines + * such as for debugging/logging and string functions. * - * Classes: n/a + * Classes: n/a * - * API functions: none + * API functions: none * - * Comments: See "notice.txt" for copyright and license information. + * Comments: See "notice.txt" for copyright and license information. * */ @@ -25,49 +25,54 @@ #include <sys/types.h> #include <unistd.h> #else -#include <process.h> /* Byron: is this where Windows keeps def. of getpid ? */ +#include <process.h> /* Byron: is this where Windows keeps def. + * of getpid ? */ #endif extern GLOBAL_VALUES globals; -void generate_filename(char*,char*,char*); +void generate_filename(char *, char *, char *); void -generate_filename(char* dirname,char* prefix,char* filename) +generate_filename(char *dirname, char *prefix, char *filename) { - int pid = 0; + int pid = 0; + #ifndef WIN32 struct passwd *ptr = 0; + ptr = getpwuid(getuid()); #endif pid = getpid(); - if(dirname == 0 || filename == 0) + if (dirname == 0 || filename == 0) return; - strcpy(filename,dirname); - strcat(filename,DIRSEPARATOR); - if(prefix != 0) - strcat(filename,prefix); + strcpy(filename, dirname); + strcat(filename, DIRSEPARATOR); + if (prefix != 0) + strcat(filename, prefix); #ifndef WIN32 - strcat(filename,ptr->pw_name); + strcat(filename, ptr->pw_name); #endif - sprintf(filename,"%s%u%s",filename,pid,".log"); + sprintf(filename, "%s%u%s", filename, pid, ".log"); return; } #ifdef MY_LOG void -mylog(char * fmt, ...) +mylog(char *fmt,...) { - va_list args; - char filebuf[80]; - FILE* LOGFP = globals.mylogFP; + va_list args; + char filebuf[80]; + FILE *LOGFP = globals.mylogFP; - if ( globals.debug) { + if (globals.debug) + { va_start(args, fmt); - if (! LOGFP) { - generate_filename(MYLOGDIR,MYLOGFILE,filebuf); + if (!LOGFP) + { + generate_filename(MYLOGDIR, MYLOGFILE, filebuf); LOGFP = fopen(filebuf, PG_BINARY_W); globals.mylogFP = LOGFP; setbuf(LOGFP, NULL); @@ -79,23 +84,26 @@ mylog(char * fmt, ...) va_end(args); } } + #endif #ifdef Q_LOG void -qlog(char * fmt, ...) +qlog(char *fmt,...) { - va_list args; - char filebuf[80]; - FILE* LOGFP = globals.qlogFP; + va_list args; + char filebuf[80]; + FILE *LOGFP = globals.qlogFP; - if ( globals.commlog) { + if (globals.commlog) + { va_start(args, fmt); - if (! LOGFP) { - generate_filename(QLOGDIR,QLOGFILE,filebuf); + if (!LOGFP) + { + generate_filename(QLOGDIR, QLOGFILE, filebuf); LOGFP = fopen(filebuf, PG_BINARY_W); globals.qlogFP = LOGFP; setbuf(LOGFP, NULL); @@ -107,9 +115,10 @@ qlog(char * fmt, ...) va_end(args); } } + #endif -/* Undefine these because windows.h will redefine and cause a warning */ +/* Undefine these because windows.h will redefine and cause a warning */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -136,7 +145,8 @@ my_strcpy(char *dst, int dst_len, char *src, int src_len) if (dst_len <= 0) return STRCPY_FAIL; - if (src_len == SQL_NULL_DATA) { + if (src_len == SQL_NULL_DATA) + { dst[0] = '\0'; return STRCPY_NULL; } @@ -146,14 +156,17 @@ my_strcpy(char *dst, int dst_len, char *src, int src_len) if (src_len <= 0) return STRCPY_FAIL; - else { - if (src_len < dst_len) { + else + { + if (src_len < dst_len) + { memcpy(dst, src, src_len); dst[src_len] = '\0'; } - else { - memcpy(dst, src, dst_len-1); - dst[dst_len-1] = '\0'; /* truncated */ + else + { + memcpy(dst, src, dst_len - 1); + dst[dst_len - 1] = '\0'; /* truncated */ return STRCPY_TRUNCATED; } } @@ -165,28 +178,29 @@ my_strcpy(char *dst, int dst_len, char *src, int src_len) /* the destination string if src has len characters or more. */ /* instead, I want it to copy up to len-1 characters and always */ /* terminate the destination string. */ -char *strncpy_null(char *dst, const char *src, int len) +char * +strncpy_null(char *dst, const char *src, int len) { -int i; + int i; - if (NULL != dst) { + if (NULL != dst) + { - /* Just in case, check for special lengths */ - if (len == SQL_NULL_DATA) { + /* Just in case, check for special lengths */ + if (len == SQL_NULL_DATA) + { dst[0] = '\0'; return NULL; } else if (len == SQL_NTS) len = strlen(src) + 1; - for(i = 0; src[i] && i < len - 1; i++) { + for (i = 0; src[i] && i < len - 1; i++) dst[i] = src[i]; - } - if(len > 0) { + if (len > 0) dst[i] = '\0'; - } } return dst; } @@ -197,22 +211,24 @@ int i; char * make_string(char *s, int len, char *buf) { -int length; -char *str; + int length; + char *str; - if(s && (len > 0 || (len == SQL_NTS && strlen(s) > 0))) { + if (s && (len > 0 || (len == SQL_NTS && strlen(s) > 0))) + { length = (len > 0) ? len : strlen(s); - if (buf) { - strncpy_null(buf, s, length+1); + if (buf) + { + strncpy_null(buf, s, length + 1); return buf; } str = malloc(length + 1); - if ( ! str) + if (!str) return NULL; - strncpy_null(str, s, length+1); + strncpy_null(str, s, length + 1); return str; } @@ -227,10 +243,11 @@ char * my_strcat(char *buf, char *fmt, char *s, int len) { - if (s && (len > 0 || (len == SQL_NTS && strlen(s) > 0))) { - int length = (len > 0) ? len : strlen(s); + if (s && (len > 0 || (len == SQL_NTS && strlen(s) > 0))) + { + int length = (len > 0) ? len : strlen(s); - int pos = strlen(buf); + int pos = strlen(buf); sprintf(&buf[pos], fmt, length, s); return buf; @@ -238,24 +255,26 @@ my_strcat(char *buf, char *fmt, char *s, int len) return NULL; } -void remove_newlines(char *string) +void +remove_newlines(char *string) { unsigned int i; - for(i=0; i < strlen(string); i++) { - if((string[i] == '\n') || - (string[i] == '\r')) { + for (i = 0; i < strlen(string); i++) + { + if ((string[i] == '\n') || + (string[i] == '\r')) string[i] = ' '; - } } } char * trim(char *s) { - int i; + int i; - for (i = strlen(s) - 1; i >= 0; i--) { + for (i = strlen(s) - 1; i >= 0; i--) + { if (s[i] == ' ') s[i] = '\0'; else |