Johannes Schindelin <johannes.schindelin@xxxxxx> 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.schindelin@xxxxxx> > --- > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html