diff mbox

[02/12] qga: use exit() when parsing options

Message ID 1435751267-26378-3-git-send-email-marcandre.lureau@gmail.com
State New
Headers show

Commit Message

Marc-André Lureau July 1, 2015, 11:47 a.m. UTC
The option parsing is going to be moved to a seperate function,
use exit() consistantly.

Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
---
 qga/main.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

Comments

Eric Blake July 31, 2015, 2:34 p.m. UTC | #1
On 07/01/2015 05:47 AM, Marc-André Lureau wrote:
> The option parsing is going to be moved to a seperate function,

s/seperate/separate/

> use exit() consistantly.

s/consistantly/consistently/
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
> ---
>  qga/main.c | 24 ++++++++++++------------
>  1 file changed, 12 insertions(+), 12 deletions(-)
> 

Reviewed-by: Eric Blake <eblake@redhat.com>
Denis V. Lunev Aug. 25, 2015, 8:20 p.m. UTC | #2
On 07/01/2015 02:47 PM, Marc-André Lureau wrote:
> The option parsing is going to be moved to a seperate function,
> use exit() consistantly.
s/seperate/separate/
s/consistantly/consistently/

> Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
> ---
>   qga/main.c | 24 ++++++++++++------------
>   1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/qga/main.c b/qga/main.c
> index 23cde01..af93992 100644
> --- a/qga/main.c
> +++ b/qga/main.c
> @@ -992,14 +992,14 @@ int main(int argc, char **argv)
>               break;
>           case 'V':
>               printf("QEMU Guest Agent %s\n", QEMU_VERSION);
> -            return 0;
> +            exit(EXIT_SUCCESS);
>           case 'd':
>               daemonize = 1;
>               break;
>           case 'b': {
>               if (is_help_option(optarg)) {
>                   qmp_for_each_command(ga_print_cmd, NULL);
> -                return 0;
> +                exit(EXIT_SUCCESS);
>               }
>               for (j = 0, i = 0, len = strlen(optarg); i < len; i++) {
>                   if (optarg[i] == ',') {
> @@ -1027,36 +1027,36 @@ int main(int argc, char **argv)
>                                     NULL :
>                                     state_dir;
>                   if (ga_install_vss_provider()) {
> -                    return EXIT_FAILURE;
> +                    exit(EXIT_FAILURE);
>                   }
>                   if (ga_install_service(path, log_filepath, fixed_state_dir)) {
> -                    return EXIT_FAILURE;
> +                    exit(EXIT_FAILURE);
>                   }
> -                return 0;
> +                exit(EXIT_SUCCESS);
>               } else if (strcmp(service, "uninstall") == 0) {
>                   ga_uninstall_vss_provider();
> -                return ga_uninstall_service();
> +                exit(ga_uninstall_service());
>               } else if (strcmp(service, "vss-install") == 0) {
>                   if (ga_install_vss_provider()) {
> -                    return EXIT_FAILURE;
> +                    exit(EXIT_FAILURE);
>                   }
> -                return EXIT_SUCCESS;
> +                exit(EXIT_SUCCESS);
>               } else if (strcmp(service, "vss-uninstall") == 0) {
>                   ga_uninstall_vss_provider();
> -                return EXIT_SUCCESS;
> +                exit(EXIT_SUCCESS);
>               } else {
>                   printf("Unknown service command.\n");
> -                return EXIT_FAILURE;
> +                exit(EXIT_FAILURE);
>               }
>               break;
>   #endif
>           case 'h':
>               usage(argv[0]);
> -            return 0;
> +            exit(EXIT_SUCCESS);
>           case '?':
>               g_print("Unknown option, try '%s --help' for more information.\n",
>                       argv[0]);
> -            return EXIT_FAILURE;
> +            exit(EXIT_FAILURE);
>           }
>       }
>   
Fairly speaking the approach is not very clean as
it can be. exit() in the middle if the program is
almost the worst thing to be done as it
introduces various leaks. Anyway, pls conside
these words as world of old slowpoke. Technically
the patch is correct thus

Reviewed-by: Denis V. Lunev <den@openvz.org>

except typos above.
diff mbox

Patch

diff --git a/qga/main.c b/qga/main.c
index 23cde01..af93992 100644
--- a/qga/main.c
+++ b/qga/main.c
@@ -992,14 +992,14 @@  int main(int argc, char **argv)
             break;
         case 'V':
             printf("QEMU Guest Agent %s\n", QEMU_VERSION);
-            return 0;
+            exit(EXIT_SUCCESS);
         case 'd':
             daemonize = 1;
             break;
         case 'b': {
             if (is_help_option(optarg)) {
                 qmp_for_each_command(ga_print_cmd, NULL);
-                return 0;
+                exit(EXIT_SUCCESS);
             }
             for (j = 0, i = 0, len = strlen(optarg); i < len; i++) {
                 if (optarg[i] == ',') {
@@ -1027,36 +1027,36 @@  int main(int argc, char **argv)
                                   NULL :
                                   state_dir;
                 if (ga_install_vss_provider()) {
-                    return EXIT_FAILURE;
+                    exit(EXIT_FAILURE);
                 }
                 if (ga_install_service(path, log_filepath, fixed_state_dir)) {
-                    return EXIT_FAILURE;
+                    exit(EXIT_FAILURE);
                 }
-                return 0;
+                exit(EXIT_SUCCESS);
             } else if (strcmp(service, "uninstall") == 0) {
                 ga_uninstall_vss_provider();
-                return ga_uninstall_service();
+                exit(ga_uninstall_service());
             } else if (strcmp(service, "vss-install") == 0) {
                 if (ga_install_vss_provider()) {
-                    return EXIT_FAILURE;
+                    exit(EXIT_FAILURE);
                 }
-                return EXIT_SUCCESS;
+                exit(EXIT_SUCCESS);
             } else if (strcmp(service, "vss-uninstall") == 0) {
                 ga_uninstall_vss_provider();
-                return EXIT_SUCCESS;
+                exit(EXIT_SUCCESS);
             } else {
                 printf("Unknown service command.\n");
-                return EXIT_FAILURE;
+                exit(EXIT_FAILURE);
             }
             break;
 #endif
         case 'h':
             usage(argv[0]);
-            return 0;
+            exit(EXIT_SUCCESS);
         case '?':
             g_print("Unknown option, try '%s --help' for more information.\n",
                     argv[0]);
-            return EXIT_FAILURE;
+            exit(EXIT_FAILURE);
         }
     }