All of lore.kernel.org
 help / color / mirror / Atom feed
From: Corey Bryant <coreyb@linux.vnet.ibm.com>
To: Doug Goldstein <cardoe@cardoe.com>
Cc: Richa Marwaha <rmarwah@linux.vnet.ibm.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCHv2 1/2] bridge helper: unified error cleanup for parse_acl_file
Date: Mon, 04 Mar 2013 11:27:45 -0500	[thread overview]
Message-ID: <5134CB81.5090502@linux.vnet.ibm.com> (raw)
In-Reply-To: <1362207528-27804-2-git-send-email-cardoe@cardoe.com>



On 03/02/2013 01:58 AM, Doug Goldstein wrote:
> Handle errors and cleanup from the error in a unified place for
> parse_acl_file().
>
> Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
> CC: Anthony Liguori <aliguori@us.ibm.com>
> CC: Richa Marwaha <rmarwah@linux.vnet.ibm.com>
> CC: Corey Bryant <coreyb@linux.vnet.ibm.com>
> TO: qemu-devel@nongnu.org
> ---
>   qemu-bridge-helper.c | 20 +++++++++++---------
>   1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c
> index 287bfd5..ee67740 100644
> --- a/qemu-bridge-helper.c
> +++ b/qemu-bridge-helper.c
> @@ -74,11 +74,12 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
>   {
>       FILE *f;
>       char line[4096];
> +    int ret = -EINVAL;
>       ACLRule *acl_rule;
>
>       f = fopen(filename, "r");
>       if (f == NULL) {
> -        return -1;
> +        return -errno;
>       }
>
>       while (fgets(line, sizeof(line), f) != NULL) {
> @@ -102,9 +103,8 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
>
>           if (arg == NULL) {
>               fprintf(stderr, "Invalid config line:\n  %s\n", line);
> -            fclose(f);
> -            errno = EINVAL;
> -            return -1;
> +            ret = -EINVAL;
> +            goto failure;

I would stick with setting errno here rather than ret..

>           }
>
>           *arg = 0;
> @@ -142,15 +142,17 @@ static int parse_acl_file(const char *filename, ACLList *acl_list)
>               parse_acl_file(arg, acl_list);
>           } else {
>               fprintf(stderr, "Unknown command `%s'\n", cmd);
> -            fclose(f);
> -            errno = EINVAL;
> -            return -1;
> +            ret = -EINVAL;
> +            goto failure;

And do the same here..

>           }
>       }
>
> +    ret = 0;
> +
> +failure:
>       fclose(f);
>
> -    return 0;
> +    return ret;
>   }
>
>   static bool has_vnet_hdr(int fd)
> @@ -272,7 +274,7 @@ int main(int argc, char **argv)
>
>       /* parse default acl file */
>       QSIMPLEQ_INIT(&acl_list);
> -    if (parse_acl_file(DEFAULT_ACL_FILE, &acl_list) == -1) {
> +    if (parse_acl_file(DEFAULT_ACL_FILE, &acl_list) < 0) {
>           fprintf(stderr, "failed to parse default acl file `%s'\n",
>                   DEFAULT_ACL_FILE);

.. and then you can append strerror(errno) to this message, which I 
admit should have been here before you touched this code.  This will 
keep this error path consistent with many of the others in this file.

>           ret = EXIT_FAILURE;
>

-- 
Regards,
Corey Bryant

  reply	other threads:[~2013-03-04 16:28 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1361757620-23318-1-git-send-email-cardoe@cardoe.com>
2013-03-02  6:58 ` [Qemu-devel] [PATCHv2 0/2] bridge helper: includedir conf arg Doug Goldstein
2013-03-02  6:58   ` [Qemu-devel] [PATCHv2 1/2] bridge helper: unified error cleanup for parse_acl_file Doug Goldstein
2013-03-04 16:27     ` Corey Bryant [this message]
2013-03-04 18:53       ` Doug Goldstein
2013-03-04 19:04         ` Corey Bryant
2013-03-02  6:58   ` [Qemu-devel] [PATCHv2 2/2] bridge helper: support conf dirs Doug Goldstein
2013-03-04 16:40     ` Corey Bryant
2013-03-05  9:19     ` Stefan Hajnoczi
2013-03-07  6:32   ` [Qemu-devel] [PATCHv3 0/2] bridge helper: includedir conf arg Doug Goldstein
2013-03-07  6:32     ` [Qemu-devel] [PATCHv3 1/2] bridge helper: unified error cleanup for parse_acl_file Doug Goldstein
2013-03-07  6:32     ` [Qemu-devel] [PATCHv3 2/2] bridge helper: support conf dirs Doug Goldstein
2013-03-09  9:50       ` Blue Swirl
2013-03-07  9:10     ` [Qemu-devel] [PATCHv3 0/2] bridge helper: includedir conf arg Stefan Hajnoczi
2013-03-07 15:11     ` Corey Bryant
2013-03-18  4:17     ` [Qemu-devel] [PATCH v3 " Doug Goldstein
2013-03-18  4:17       ` [Qemu-devel] [PATCH v3 1/2] bridge helper: unified error cleanup for parse_acl_file Doug Goldstein
2013-03-18  4:17       ` [Qemu-devel] [PATCH v3 2/2] bridge helper: support conf dirs Doug Goldstein
2013-03-18 10:01       ` [Qemu-devel] [PATCH v3 0/2] bridge helper: includedir conf arg Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5134CB81.5090502@linux.vnet.ibm.com \
    --to=coreyb@linux.vnet.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=cardoe@cardoe.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rmarwah@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.