X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Flog.c;h=3d65cc4e20bb755d7550f87b85959990976916c9;hb=6ec6c43b4738dbc7091f4a49a4ec80ea6102cb52;hp=2265181ea9c16c7eb87129cae522f6914e33fd96;hpb=782b16447b25ce31d41764ae91681a6aa4f3fe0d;p=libsigrok.git diff --git a/src/log.c b/src/log.c index 2265181e..3d65cc4e 100644 --- a/src/log.c +++ b/src/log.c @@ -18,8 +18,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#include #include #include +#include #include #include "libsigrok-internal.h" @@ -161,6 +163,7 @@ static int sr_logv(void *cb_data, int loglevel, const char *format, va_list args { uint64_t elapsed_us, minutes; unsigned int rest_us, seconds, microseconds; + int ret; /* This specific log callback doesn't need the void pointer data. */ (void)cb_data; @@ -177,13 +180,14 @@ static int sr_logv(void *cb_data, int loglevel, const char *format, va_list args seconds = rest_us / G_TIME_SPAN_SECOND; microseconds = rest_us % G_TIME_SPAN_SECOND; - if (fprintf(stderr, "[%.2" PRIu64 ":%.2u.%.6u] ", - minutes, seconds, microseconds) < 0) - return SR_ERR; + ret = g_fprintf(stderr, "sr: [%.2" PRIu64 ":%.2u.%.6u] ", + minutes, seconds, microseconds); + } else { + ret = fputs("sr: ", stderr); } - if (vfprintf(stderr, format, args) < 0) - return SR_ERR; - if (putc('\n', stderr) < 0) + + if (ret < 0 || g_vfprintf(stderr, format, args) < 0 + || putc('\n', stderr) < 0) return SR_ERR; return SR_OK;