commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[hurd] 15/25: Avoid fatal error handling in option parsers.


From: Samuel Thibault
Subject: [hurd] 15/25: Avoid fatal error handling in option parsers.
Date: Mon, 24 Oct 2016 00:16:45 +0000

This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch upstream
in repository hurd.

commit 3a3c1759297d3621663571dc85d2fb5d1d53b3b1
Author: Justus Winter <address@hidden>
Date:   Wed Oct 5 10:24:59 2016 +0200

    Avoid fatal error handling in option parsers.
    
    * trans/crash.c (parse_opt): Avoid 'error' in favor of the appropriate
    argp error reporting mechanism.
    * trans/remap.c (parse_opt): Likewise.
    * utils/msgids.c (parse_opt): Likewise.
---
 trans/crash.c  | 5 ++++-
 trans/remap.c  | 6 +++++-
 utils/msgids.c | 5 ++++-
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/trans/crash.c b/trans/crash.c
index 14783cf..3c24451 100644
--- a/trans/crash.c
+++ b/trans/crash.c
@@ -640,7 +640,10 @@ parse_opt (int opt, char *arg, struct argp_state *state)
       {
        char *errp;
        if (! template_valid (arg, &errp))
-         error (1, 0, "Invalid template: ...'%s'", errp);
+         {
+           argp_error (state, "Invalid template: ...'%s'", errp);
+           return EINVAL;
+         }
       }
       corefile_template = arg;
       break;
diff --git a/trans/remap.c b/trans/remap.c
index 63434f0..5afbaa0 100644
--- a/trans/remap.c
+++ b/trans/remap.c
@@ -98,7 +98,11 @@ parse_opt (int key, char *arg, struct argp_state *state)
   {
     case ARGP_KEY_ARG:
       if (arg[0] != '/')
-       error (1, 0, "remap only works with absolute paths\n");
+       {
+         argp_error (state, "remap only works with absolute paths: %s",
+                     arg);
+         return EINVAL;
+       }
 
       /* Skip heading slashes */
       while (arg[0] == '/')
diff --git a/utils/msgids.c b/utils/msgids.c
index 4bc08de..d17f131 100644
--- a/utils/msgids.c
+++ b/utils/msgids.c
@@ -200,7 +200,10 @@ static error_t parse_opt (int key, char *arg, struct 
argp_state *state)
     case 'i':
       if (argz_add (&msgids_files_argz, &msgids_files_argz_len,
                    arg) != 0)
-       error (1, errno, "argz_add");
+       {
+         argp_failure (state, 1, errno, "argz_add");
+         return errno;
+       }
       break;
 
     case 'I':

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-hurd/hurd.git



reply via email to

[Prev in Thread] Current Thread [Next in Thread]