void (*sptps_log)(sptps_t *s, int s_errno, const char *format, va_list ap) = sptps_log_stderr;
// Log an error message.
+static bool error(sptps_t *s, int s_errno, const char *format, ...) ATTR_FORMAT(printf, 3, 4);
static bool error(sptps_t *s, int s_errno, const char *format, ...) {
(void)s;
(void)s_errno;
return false;
}
+static void warning(sptps_t *s, const char *format, ...) ATTR_FORMAT(printf, 2, 3);
static void warning(sptps_t *s, const char *format, ...) {
va_list ap;
va_start(ap, format);
s->inbuf = realloc(s->inbuf, s->reclen + 19UL);
if(!s->inbuf) {
- return error(s, errno, strerror(errno));
+ return error(s, errno, "%s", strerror(errno));
}
// Exit early if we have no more data to process.
s->late = malloc(s->replaywin);
if(!s->late) {
- return error(s, errno, strerror(errno));
+ return error(s, errno, "%s", strerror(errno));
}
memset(s->late, 0, s->replaywin);
s->label = malloc(labellen);
if(!s->label) {
- return error(s, errno, strerror(errno));
+ return error(s, errno, "%s", strerror(errno));
}
if(!datagram) {
s->inbuf = malloc(7);
if(!s->inbuf) {
- return error(s, errno, strerror(errno));
+ return error(s, errno, "%s", strerror(errno));
}
s->buflen = 0;