aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/odbc/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/odbc/misc.c')
-rw-r--r--src/interfaces/odbc/misc.c147
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