Commit 85930527 authored by Aurelio Colosimo's avatar Aurelio Colosimo

added pp_timed_printf: prints a message prepending current tstamp

parent b8dcb5ae
......@@ -30,6 +30,9 @@ void pp_diag_fatal(struct pp_instance *ppi, char *s1, char *s2)
void pp_diag_printf(struct pp_instance *ppi, char *fmt, ...)
__attribute__((weak,alias("pp_diag_nop")));
void pp_timed_printf(char *fmt, ...)
__attribute__((weak,alias("pp_diag_nop")));
int pp_printf(const char *fmt, ...)
__attribute__((weak,alias("pp_diag_nop")));
......
......@@ -53,3 +53,15 @@ void pp_diag_printf(struct pp_instance *ppi, char *fmt, ...)
va_end(args);
pp_printf("MESSAGE for %p: %s", ppi, buf);
}
void pp_timed_printf(char *fmt, ...)
{
va_list args;
char buf[128];
TimeInternal t;
pp_get_tstamp(&t);
va_start(args, fmt);
pp_vsprintf(buf, fmt, args);
va_end(args);
pp_printf("%09d.%03d %s", t.seconds, t.nanoseconds / 1000000, buf);
}
......@@ -23,8 +23,8 @@ extern void pp_diag_trace(struct pp_instance *ppi, const char *f, int line);
extern void pp_diag_error(struct pp_instance *ppi, int err);
extern void pp_diag_error_str2(struct pp_instance *ppi, char *s1, char *s2);
extern void pp_diag_fatal(struct pp_instance *ppi, char *s1, char *s2);
extern void pp_diag_printf(struct pp_instance *ppi, char *fmt, ...)
__attribute__((format(printf, 2, 3)));
extern void pp_diag_printf(struct pp_instance *ppi, char *fmt, ...);
extern void pp_timed_printf(char *fmt, ...);
/* Our printf, that is implemented internally */
extern int pp_printf(const char *fmt, ...)
......
......@@ -24,6 +24,7 @@ extern int pp_diag_verbosity;
#define PP_ERR2(ppi,s1,s2) if pp_diag_error_str2(ppi,s1,s2)
#define PP_FATAL(ppi,s1,s2) if pp_diag_fatal(ppi,s1,s2)
#define PP_PRINTF(...) pp_printf(__VA_ARGS__)
#define PP_TPRINTF(...) pp_timed_printf(__VA_ARGS__)
#define PP_VPRINTF(...) if (pp_diag_verbosity) pp_printf(__VA_ARGS__)
/*
......@@ -339,7 +340,7 @@ extern void display_TimeInternal(const char *label, TimeInternal *t);
/* Get and Set system timestamp */
extern void pp_get_tstamp(TimeInternal *t);
extern int32_t pp_set_tstamp(TimeInternal *t);
extern const char *pp_get_tstamp_str();
/* Virtualization of Linux adjtimex (or BSD adjtime) system clock time
* adjustment. Boolean: returns 1 in case of success and 0 if failure */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment