Johannes Schindelin <[email protected]> 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 <[email protected]>
> ---
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html