unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] cli: command line option parser cleanup
@ 2014-02-24 21:36 Jani Nikula
  2014-02-25 19:24 ` Tomi Ollila
  2014-02-26  1:05 ` David Bremner
  0 siblings, 2 replies; 3+ messages in thread
From: Jani Nikula @ 2014-02-24 21:36 UTC (permalink / raw)
  To: notmuch

Reduce the indentation for clarity. No functional changes.

---

I've had this around for a while now, in preparation for something
else that was never needed...
---
 command-line-arguments.c | 69 ++++++++++++++++++++++++------------------------
 1 file changed, 35 insertions(+), 34 deletions(-)

diff --git a/command-line-arguments.c b/command-line-arguments.c
index bf9aecabe869..844d6c3d18bf 100644
--- a/command-line-arguments.c
+++ b/command-line-arguments.c
@@ -129,40 +129,41 @@ parse_option (const char *arg,
 
     const notmuch_opt_desc_t *try;
     for (try = options; try->opt_type != NOTMUCH_OPT_END; try++) {
-	if (try->name && strncmp (arg, try->name, strlen (try->name)) == 0) {
-	    char next = arg[strlen (try->name)];
-	    const char *value= arg+strlen(try->name)+1;
-
-	    /* If we have not reached the end of the argument
-	       (i.e. the next character is not a space or delimiter)
-	       then the argument could still match a longer option
-	       name later in the option table.
-	    */
-	    if (next != '=' && next != ':' && next != '\0')
-		continue;
-
-	    if (try->output_var == NULL)
-		INTERNAL_ERROR ("output pointer NULL for option %s", try->name);
-
-	    switch (try->opt_type) {
-	    case NOTMUCH_OPT_KEYWORD:
-		return _process_keyword_arg (try, next, value);
-		break;
-	    case NOTMUCH_OPT_BOOLEAN:
-		return _process_boolean_arg (try, next, value);
-		break;
-	    case NOTMUCH_OPT_INT:
-		return _process_int_arg (try, next, value);
-		break;
-	    case NOTMUCH_OPT_STRING:
-		return _process_string_arg (try, next, value);
-		break;
-	    case NOTMUCH_OPT_POSITION:
-	    case NOTMUCH_OPT_END:
-	    default:
-		INTERNAL_ERROR ("unknown or unhandled option type %d", try->opt_type);
-		/*UNREACHED*/
-	    }
+	if (! try->name)
+	    continue;
+
+	if (strncmp (arg, try->name, strlen (try->name)) != 0)
+	    continue;
+
+	char next = arg[strlen (try->name)];
+	const char *value = arg + strlen(try->name) + 1;
+
+	/*
+	 * If we have not reached the end of the argument (i.e. the
+	 * next character is not a space or delimiter) then the
+	 * argument could still match a longer option name later in
+	 * the option table.
+	 */
+	if (next != '=' && next != ':' && next != '\0')
+	    continue;
+
+	if (try->output_var == NULL)
+	    INTERNAL_ERROR ("output pointer NULL for option %s", try->name);
+
+	switch (try->opt_type) {
+	case NOTMUCH_OPT_KEYWORD:
+	    return _process_keyword_arg (try, next, value);
+	case NOTMUCH_OPT_BOOLEAN:
+	    return _process_boolean_arg (try, next, value);
+	case NOTMUCH_OPT_INT:
+	    return _process_int_arg (try, next, value);
+	case NOTMUCH_OPT_STRING:
+	    return _process_string_arg (try, next, value);
+	case NOTMUCH_OPT_POSITION:
+	case NOTMUCH_OPT_END:
+	default:
+	    INTERNAL_ERROR ("unknown or unhandled option type %d", try->opt_type);
+	    /*UNREACHED*/
 	}
     }
     fprintf (stderr, "Unrecognized option: --%s\n", arg);
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] cli: command line option parser cleanup
  2014-02-24 21:36 [PATCH] cli: command line option parser cleanup Jani Nikula
@ 2014-02-25 19:24 ` Tomi Ollila
  2014-02-26  1:05 ` David Bremner
  1 sibling, 0 replies; 3+ messages in thread
From: Tomi Ollila @ 2014-02-25 19:24 UTC (permalink / raw)
  To: Jani Nikula, notmuch

On Mon, Feb 24 2014, Jani Nikula <jani@nikula.org> wrote:

> Reduce the indentation for clarity. No functional changes.
>
> ---

LGTM. I like the style.

Tomi


>
> I've had this around for a while now, in preparation for something
> else that was never needed...
> ---
>  command-line-arguments.c | 69 ++++++++++++++++++++++++------------------------
>  1 file changed, 35 insertions(+), 34 deletions(-)
>
> diff --git a/command-line-arguments.c b/command-line-arguments.c
> index bf9aecabe869..844d6c3d18bf 100644
> --- a/command-line-arguments.c
> +++ b/command-line-arguments.c
> @@ -129,40 +129,41 @@ parse_option (const char *arg,
>  
>      const notmuch_opt_desc_t *try;
>      for (try = options; try->opt_type != NOTMUCH_OPT_END; try++) {
> -	if (try->name && strncmp (arg, try->name, strlen (try->name)) == 0) {
> -	    char next = arg[strlen (try->name)];
> -	    const char *value= arg+strlen(try->name)+1;
> -
> -	    /* If we have not reached the end of the argument
> -	       (i.e. the next character is not a space or delimiter)
> -	       then the argument could still match a longer option
> -	       name later in the option table.
> -	    */
> -	    if (next != '=' && next != ':' && next != '\0')
> -		continue;
> -
> -	    if (try->output_var == NULL)
> -		INTERNAL_ERROR ("output pointer NULL for option %s", try->name);
> -
> -	    switch (try->opt_type) {
> -	    case NOTMUCH_OPT_KEYWORD:
> -		return _process_keyword_arg (try, next, value);
> -		break;
> -	    case NOTMUCH_OPT_BOOLEAN:
> -		return _process_boolean_arg (try, next, value);
> -		break;
> -	    case NOTMUCH_OPT_INT:
> -		return _process_int_arg (try, next, value);
> -		break;
> -	    case NOTMUCH_OPT_STRING:
> -		return _process_string_arg (try, next, value);
> -		break;
> -	    case NOTMUCH_OPT_POSITION:
> -	    case NOTMUCH_OPT_END:
> -	    default:
> -		INTERNAL_ERROR ("unknown or unhandled option type %d", try->opt_type);
> -		/*UNREACHED*/
> -	    }
> +	if (! try->name)
> +	    continue;
> +
> +	if (strncmp (arg, try->name, strlen (try->name)) != 0)
> +	    continue;
> +
> +	char next = arg[strlen (try->name)];
> +	const char *value = arg + strlen(try->name) + 1;
> +
> +	/*
> +	 * If we have not reached the end of the argument (i.e. the
> +	 * next character is not a space or delimiter) then the
> +	 * argument could still match a longer option name later in
> +	 * the option table.
> +	 */
> +	if (next != '=' && next != ':' && next != '\0')
> +	    continue;
> +
> +	if (try->output_var == NULL)
> +	    INTERNAL_ERROR ("output pointer NULL for option %s", try->name);
> +
> +	switch (try->opt_type) {
> +	case NOTMUCH_OPT_KEYWORD:
> +	    return _process_keyword_arg (try, next, value);
> +	case NOTMUCH_OPT_BOOLEAN:
> +	    return _process_boolean_arg (try, next, value);
> +	case NOTMUCH_OPT_INT:
> +	    return _process_int_arg (try, next, value);
> +	case NOTMUCH_OPT_STRING:
> +	    return _process_string_arg (try, next, value);
> +	case NOTMUCH_OPT_POSITION:
> +	case NOTMUCH_OPT_END:
> +	default:
> +	    INTERNAL_ERROR ("unknown or unhandled option type %d", try->opt_type);
> +	    /*UNREACHED*/
>  	}
>      }
>      fprintf (stderr, "Unrecognized option: --%s\n", arg);
> -- 
> 1.8.5.3
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] cli: command line option parser cleanup
  2014-02-24 21:36 [PATCH] cli: command line option parser cleanup Jani Nikula
  2014-02-25 19:24 ` Tomi Ollila
@ 2014-02-26  1:05 ` David Bremner
  1 sibling, 0 replies; 3+ messages in thread
From: David Bremner @ 2014-02-26  1:05 UTC (permalink / raw)
  To: Jani Nikula, notmuch

Jani Nikula <jani@nikula.org> writes:

> Reduce the indentation for clarity. No functional changes.
>

pushed, 

d

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-02-26  1:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-24 21:36 [PATCH] cli: command line option parser cleanup Jani Nikula
2014-02-25 19:24 ` Tomi Ollila
2014-02-26  1:05 ` David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).