diff mbox series

[2/6] object.c: remove "gently" argument to type_from_string_gently()

Message ID patch-2.6-daed40c479-20210409T082935Z-avarab@gmail.com (mailing list archive)
State Superseded
Headers show
Series {tag,object}*.c: refactorings + prep for a larger change | expand

Commit Message

Ævar Arnfjörð Bjarmason April 9, 2021, 8:32 a.m. UTC
Get rid of the "gently" argument to type_from_string_gently() to make
it consistent with most other *_gently() functions. It's already a
"gentle" function, it shouldn't need a boolean argument telling it to
be gentle.

The reason it had a "gentle" parameter was because until the preceding
commit "type_from_string()" was a macro resolving to
"type_from_string_gently()", it's now a function.

This refactoring of adding a third parameter was done in
fe8e3b71805 (Refactor type_from_string() to allow continuing after
detecting an error, 2014-09-10) in preparation for its use in
fsck.c.

Simplifying this means we can move the die() into the simpler
type_from_string() function.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 fsck.c        |  2 +-
 object-file.c |  2 +-
 object.c      | 12 +++++-------
 object.h      |  2 +-
 4 files changed, 8 insertions(+), 10 deletions(-)

Comments

Jeff King April 9, 2021, 6:10 p.m. UTC | #1
On Fri, Apr 09, 2021 at 10:32:50AM +0200, Ævar Arnfjörð Bjarmason wrote:

> Get rid of the "gently" argument to type_from_string_gently() to make
> it consistent with most other *_gently() functions. It's already a
> "gentle" function, it shouldn't need a boolean argument telling it to
> be gentle.
> 
> The reason it had a "gentle" parameter was because until the preceding
> commit "type_from_string()" was a macro resolving to
> "type_from_string_gently()", it's now a function.
> 
> This refactoring of adding a third parameter was done in
> fe8e3b71805 (Refactor type_from_string() to allow continuing after
> detecting an error, 2014-09-10) in preparation for its use in
> fsck.c.
> 
> Simplifying this means we can move the die() into the simpler
> type_from_string() function.

Yeah, this makes sense (and the change of signature will catch any
callers in topics-in-flight).

-Peff
diff mbox series

Patch

diff --git a/fsck.c b/fsck.c
index f5ed6a2635..8dda548c38 100644
--- a/fsck.c
+++ b/fsck.c
@@ -875,7 +875,7 @@  int fsck_tag_standalone(const struct object_id *oid, const char *buffer,
 		ret = report(options, oid, OBJ_TAG, FSCK_MSG_MISSING_TYPE, "invalid format - unexpected end after 'type' line");
 		goto done;
 	}
-	*tagged_type = type_from_string_gently(buffer, eol - buffer, 1);
+	*tagged_type = type_from_string_gently(buffer, eol - buffer);
 	if (*tagged_type < 0)
 		ret = report(options, oid, OBJ_TAG, FSCK_MSG_BAD_TYPE, "invalid 'type' value");
 	if (ret)
diff --git a/object-file.c b/object-file.c
index 624af408cd..b7c26b6735 100644
--- a/object-file.c
+++ b/object-file.c
@@ -1314,7 +1314,7 @@  static int parse_loose_header_extended(const char *hdr, struct object_info *oi,
 		type_len++;
 	}
 
-	type = type_from_string_gently(type_buf, type_len, 1);
+	type = type_from_string_gently(type_buf, type_len);
 	if (oi->type_name)
 		strbuf_add(oi->type_name, type_buf, type_len);
 	/*
diff --git a/object.c b/object.c
index 88de01e5ac..5477abc97c 100644
--- a/object.c
+++ b/object.c
@@ -35,7 +35,7 @@  const char *type_name(unsigned int type)
 	return object_type_strings[type];
 }
 
-int type_from_string_gently(const char *str, ssize_t len, int gentle)
+int type_from_string_gently(const char *str, ssize_t len)
 {
 	int i;
 
@@ -43,17 +43,15 @@  int type_from_string_gently(const char *str, ssize_t len, int gentle)
 		if (!strncmp(str, object_type_strings[i], len) &&
 		    object_type_strings[i][len] == '\0')
 			return i;
-
-	if (gentle)
-		return -1;
-
-	die(_("invalid object type \"%s\""), str);
+	return -1;
 }
 
 int type_from_string(const char *str)
 {
 	size_t len = strlen(str);
-	int ret = type_from_string_gently(str, len, 0);
+	int ret = type_from_string_gently(str, len);
+	if (ret < 0)
+		die(_("invalid object type \"%s\""), str);
 	return ret;
 }
 
diff --git a/object.h b/object.h
index 3ab3eb193d..ffdc129830 100644
--- a/object.h
+++ b/object.h
@@ -93,7 +93,7 @@  struct object {
 };
 
 const char *type_name(unsigned int type);
-int type_from_string_gently(const char *str, ssize_t, int gentle);
+int type_from_string_gently(const char *str, ssize_t len);
 int type_from_string(const char *str);
 
 /*