From d4a29d938602081a60a9646d0e20d0e76392a287 Mon Sep 17 00:00:00 2001 From: Tommy Olofsson <tommy.olofsson.90@gmail.com> Date: Mon, 28 Apr 2014 12:30:50 +0200 Subject: [PATCH] Print better error messages on fatal error. --- lib/c/labcomm.c | 4 ++-- lib/c/labcomm_error.c | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/c/labcomm.c b/lib/c/labcomm.c index cb48e47..ed4e617 100644 --- a/lib/c/labcomm.c +++ b/lib/c/labcomm.c @@ -246,7 +246,7 @@ void labcomm_set_local_index(struct labcomm_signature *signature) { if (signature->index != 0) { labcomm_error_fatal_global(LABCOMM_ERROR_SIGNATURE_ALREADY_SET, - "%s", signature->name); + "Signature already set: %s\n", signature->name); } signature->index = local_index; local_index++; @@ -256,7 +256,7 @@ int labcomm_get_local_index(struct labcomm_signature *signature) { if (signature->index == 0) { labcomm_error_fatal_global(LABCOMM_ERROR_SIGNATURE_NOT_SET, - "%s", signature->name); + "Signature not set: %s\n", signature->name); } return signature->index; } diff --git a/lib/c/labcomm_error.c b/lib/c/labcomm_error.c index 278c5f3..5bfea6e 100644 --- a/lib/c/labcomm_error.c +++ b/lib/c/labcomm_error.c @@ -21,12 +21,19 @@ #include <stdlib.h> #include <stdio.h> +#include <stdarg.h> #include "labcomm_error.h" - + void labcomm_error_fatal_global(enum labcomm_error error, char *format, ...) { + va_list args; + fprintf(stderr, "Fatal error %d\n", error); + va_start(args, format); + vprintf(format, args); + va_end(args); + exit(1); } -- GitLab