]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add prefix to all lines in fr_perror
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Mon, 15 May 2017 17:20:25 +0000 (13:20 -0400)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Mon, 15 May 2017 17:20:25 +0000 (13:20 -0400)
...else it looks dumb

src/lib/util/strerror.c

index 65a1d60eca475312a1993544c1b5271c98102a42..f167be2b623690a71b79bc0d62d0a342ecca75c3 100644 (file)
@@ -259,15 +259,17 @@ char const *fr_strerror_pop(void)
  */
 void fr_perror(char const *fmt, ...)
 {
-       char const *error;
-       va_list ap;
+       char const      *error;
+       char            *prefix;
+       va_list         ap;
 
        va_start(ap, fmt);
-       vfprintf(stderr, fmt, ap);
+       prefix = talloc_vasprintf(NULL, fmt, ap);
+       va_end(ap);
 
        error = fr_strerror_pop();
        if (error && (error[0] != '\0')) {
-               fprintf(stderr, ": %s\n", error);
+               fprintf(stderr, "%s: %s\n", prefix, error);
        } else {
                fputs("\n", stderr);
        }
@@ -277,10 +279,10 @@ void fr_perror(char const *fmt, ...)
         */
        while ((error = fr_strerror_pop())) {
                if (error && (error[0] != '\0')) {
-                       fprintf(stderr, "%s\n", error);
+                       fprintf(stderr, "%s: %s\n", prefix, error);
                }
        }
-       va_end(ap);
+       talloc_free(prefix);
 }