Johannes Schindelin <johannes.schinde...@gmx.de> writes:

> In the next commits, we will enhance the fsck_tag() function to check
> tag objects more thoroughly. To this end, we need a function to verify
> that a given string is a valid object type, but that does not die() in
> the negative case.
>
> Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de>
> ---
>  object.c | 13 ++++++++++++-
>  object.h |  1 +
>  2 files changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/object.c b/object.c
> index a16b9f9..5eee592 100644
> --- a/object.c
> +++ b/object.c
> @@ -33,13 +33,24 @@ const char *typename(unsigned int type)
>       return object_type_strings[type];
>  }
>  
> -int type_from_string(const char *str)
> +int type_from_string_gently(const char *str)
>  {
>       int i;
>  
>       for (i = 1; i < ARRAY_SIZE(object_type_strings); i++)
>               if (!strcmp(str, object_type_strings[i]))
>                       return i;
> +
> +     return -1;
> +}
> +
> +int type_from_string(const char *str)
> +{
> +     int i = type_from_string_gently(str);
> +
> +     if (i >= 0)
> +             return i;
> +
>       die("invalid object type \"%s\"", str);
>  }

Hmph.  The above is not wrong per-se, but I would have done

        int type_from_string_gently(const char *str, int gentle);
        #define type_from_string(str) type_from_string_gently((str), 1)

and added two lines to renamed type_from_string() function

+       if (gently)
+               return -1;

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to