Changeset: 46ca0cf07d2e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/46ca0cf07d2e Modified Files: clients/odbc/driver/ODBCGlobal.h clients/odbc/driver/ODBCUtil.c Branch: odbc-tls Log Message:
Turn ODBCLOG into a static inline function Rather than a macro if C99 and a regular function otherwise. diffs (133 lines): diff --git a/clients/odbc/driver/ODBCGlobal.h b/clients/odbc/driver/ODBCGlobal.h --- a/clients/odbc/driver/ODBCGlobal.h +++ b/clients/odbc/driver/ODBCGlobal.h @@ -101,50 +101,45 @@ extern const wchar_t *ODBCdebug; extern const char *ODBCdebug; #endif -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901 +static inline void ODBCLOG(_In_z_ _Printf_format_string_ const char *fmt, ...) + __attribute__((__format__(__printf__, 1, 2))); + +static inline void +ODBCLOG(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + if (ODBCdebug == NULL) { #ifdef NATIVE_WIN32 -#define ODBCLOG(...) \ - do { \ - if (ODBCdebug == NULL) { \ - if ((ODBCdebug = _wgetenv(L"ODBCDEBUG")) == NULL) \ - ODBCdebug = _wcsdup(L""); \ - else \ - ODBCdebug = _wcsdup(ODBCdebug); \ - } \ - if (ODBCdebug != NULL && *ODBCdebug != 0) { \ - FILE *_f; \ - _f = _wfopen(ODBCdebug, L"a"); \ - if (_f == NULL) \ - _f = stderr; \ - fprintf(_f, __VA_ARGS__); \ - if (_f != stderr) \ - fclose(_f); \ - } \ - } while (0) + if ((ODBCdebug = _wgetenv(L"ODBCDEBUG")) == NULL) + ODBCdebug = _wcsdup(L""); + else + ODBCdebug = _wcsdup(ODBCdebug); #else -#define ODBCLOG(...) \ - do { \ - if (ODBCdebug == NULL) { \ - if ((ODBCdebug = getenv("ODBCDEBUG")) == NULL) \ - ODBCdebug = strdup(""); \ - else \ - ODBCdebug = strdup(ODBCdebug); \ - } \ - if (ODBCdebug != NULL && *ODBCdebug != 0) { \ - FILE *_f; \ - _f = fopen(ODBCdebug, "a"); \ - if (_f == NULL) \ - _f = stderr; \ - fprintf(_f, __VA_ARGS__); \ - if (_f != stderr) \ - fclose(_f); \ - } \ - } while (0) + if ((ODBCdebug = getenv("ODBCDEBUG")) == NULL) + ODBCdebug = strdup(""); + else + ODBCdebug = strdup(ODBCdebug); #endif + } + if (ODBCdebug != NULL && *ODBCdebug != 0) { + FILE *f; + +#ifdef NATIVE_WIN32 + f = _wfopen(ODBCdebug, L"a"); #else -extern void ODBCLOG(_In_z_ _Printf_format_string_ const char *fmt, ...) - __attribute__((__format__(__printf__, 1, 2))); + f = fopen(ODBCdebug, "a"); #endif + if (f) { + vfprintf(f, fmt, ap); + fclose(f); + } else + vfprintf(stderr, fmt, ap); + } + va_end(ap); +} + char *translateCType(SQLSMALLINT ValueType); char *translateSQLType(SQLSMALLINT ParameterType); diff --git a/clients/odbc/driver/ODBCUtil.c b/clients/odbc/driver/ODBCUtil.c --- a/clients/odbc/driver/ODBCUtil.c +++ b/clients/odbc/driver/ODBCUtil.c @@ -2624,41 +2624,5 @@ translateCompletionType(SQLSMALLINT Comp } } -#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901 -void -ODBCLOG(const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - if (ODBCdebug == NULL) { -#ifdef NATIVE_WIN32 - if ((ODBCdebug = _wgetenv(L"ODBCDEBUG")) == NULL) - ODBCdebug = _wcsdup(L""); - else - ODBCdebug = _wcsdup(ODBCdebug); -#else - if ((ODBCdebug = getenv("ODBCDEBUG")) == NULL) - ODBCdebug = strdup(""); - else - ODBCdebug = strdup(ODBCdebug); #endif - } - if (ODBCdebug != NULL && *ODBCdebug != 0) { - FILE *f; - -#ifdef NATIVE_WIN32 - f = _wfopen(ODBCdebug, L"a"); -#else - f = fopen(ODBCdebug, "a"); -#endif - if (f) { - vfprintf(f, fmt, ap); - fclose(f); - } else - vfprintf(stderr, fmt, ap); - } - va_end(ap); -} -#endif -#endif _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org