error: Use error_report_err() instead of ad hoc prints
authorMarkus Armbruster <armbru@redhat.com>
Fri, 18 Dec 2015 15:35:07 +0000 (16:35 +0100)
committerMarkus Armbruster <armbru@redhat.com>
Wed, 13 Jan 2016 14:16:16 +0000 (15:16 +0100)
Unlike ad hoc prints, error_report_err() uses the error whole instead
of just its message obtained with error_get_pretty().  This avoids
suppressing its hint (see commit 50b7b00).  Example:

    $ bld/ivshmem-server -l 42@
    Parameter 'shm_size' expects a size
    You may use k, M, G or T suffixes for kilobytes, megabytes, gigabytes and terabytes.

The last line is new with this patch.

While there, drop a "cannot parse shm size: " message prefix; it's
redundant, because the error message proper is always of the form
"Parameter 'shm_size' expects ...".

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <1450452927-8346-5-git-send-email-armbru@redhat.com>

contrib/ivshmem-server/main.c
qdev-monitor.c
qemu-nbd.c

index 54ff001c23a1b5e938c5f87f5141e37e86555c81..00508b5edda693b9afa5972298414b3ef1f367d8 100644 (file)
@@ -106,9 +106,7 @@ ivshmem_server_parse_args(IvshmemServerArgs *args, int argc, char *argv[])
         case 'l': /* shm_size */
             parse_option_size("shm_size", optarg, &args->shm_size, &errp);
             if (errp) {
-                fprintf(stderr, "cannot parse shm size: %s\n",
-                        error_get_pretty(errp));
-                error_free(errp);
+                error_report_err(errp);
                 ivshmem_server_usage(argv[0], 1);
             }
             break;
index 30936dfba4508e03a9f75c6ca721ba4722c75eec..3ce47109e3bd02410bbd80ee860b74f1558e792d 100644 (file)
@@ -266,8 +266,7 @@ int qdev_device_help(QemuOpts *opts)
     return 1;
 
 error:
-    error_printf("%s\n", error_get_pretty(local_err));
-    error_free(local_err);
+    error_report_err(local_err);
     return 1;
 }
 
index 65c0ebda04cb651e774b256c32b95f34ef364825..706552e64ce6266f4267fd6194e31b2a5455dba2 100644 (file)
@@ -251,8 +251,7 @@ static void *nbd_client_thread(void *arg)
                                 &size, &local_error);
     if (ret < 0) {
         if (local_error) {
-            fprintf(stderr, "%s\n", error_get_pretty(local_error));
-            error_free(local_error);
+            error_report_err(local_error);
         }
         goto out_socket;
     }