mirror of
https://github.com/postgres/postgres.git
synced 2025-08-05 07:41:25 +03:00
> Yikes, that is certainly not standard C. I have never seen that
before. > Looks like a GNU-ism. I nice one, but still a GNU-ism. Sorry, I didn't know it is a GNU extension. I have written this patch which should fix the problem. Let me know if you still have problems. Massimo Dal Zotto
This commit is contained in:
@@ -129,6 +129,34 @@ tprintf(int flag, const char *fmt,...)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print a timestamp and a message to stdout or to syslog.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
tprintf1(const char *fmt, ... )
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
char line[ELOG_MAXLEN+TIMESTAMP_SIZE+1];
|
||||||
|
|
||||||
|
va_start(ap, fmt);
|
||||||
|
#ifdef ELOG_TIMESTAMPS
|
||||||
|
strcpy(line, tprintf_timestamp());
|
||||||
|
#endif
|
||||||
|
vsprintf(line+TIMESTAMP_SIZE, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
|
||||||
|
#ifdef USE_SYSLOG
|
||||||
|
write_syslog(LOG_INFO, line+TIMESTAMP_SIZE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (UseSyslog <= 1) {
|
||||||
|
puts(line);
|
||||||
|
fflush(stdout);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Print a timestamp and a message to stderr.
|
* Print a timestamp and a message to stderr.
|
||||||
*/
|
*/
|
||||||
|
@@ -27,6 +27,7 @@ char *tprintf_timestamp(void);
|
|||||||
#define TIMESTAMP_SIZE 0
|
#define TIMESTAMP_SIZE 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern int tprintf1(const char *fmt, ...);
|
||||||
extern int tprintf(int flag, const char *fmt,...);
|
extern int tprintf(int flag, const char *fmt,...);
|
||||||
extern int eprintf(const char *fmt,...);
|
extern int eprintf(const char *fmt,...);
|
||||||
extern int option_flag(int flag);
|
extern int option_flag(int flag);
|
||||||
@@ -75,9 +76,15 @@ enum pg_option_enum
|
|||||||
|
|
||||||
extern int pg_options[NUM_PG_OPTIONS];
|
extern int pg_options[NUM_PG_OPTIONS];
|
||||||
|
|
||||||
#define PRINTF(args...) tprintf(TRACE_ALL, args)
|
#ifdef __GNUC__
|
||||||
#define EPRINTF(args...) eprintf(args)
|
#define PRINTF(args...) tprintf1(args)
|
||||||
|
#define EPRINTF(args...) eprintf(args)
|
||||||
#define TPRINTF(flag, args...) tprintf(flag, args)
|
#define TPRINTF(flag, args...) tprintf(flag, args)
|
||||||
|
#else
|
||||||
|
#define PRINTF tprintf1
|
||||||
|
#define EPRINTF eprintf
|
||||||
|
#define TPRINTF tprintf
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* TRACE_H */
|
#endif /* TRACE_H */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user