promisor-remote: refactor has_control_char()
In a future commit we are going to check if some strings contain control characters, so let's refactor the logic to do that in a new has_control_char() helper function. It cleans up the code a bit anyway. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christian Couder committed
Apr 7, 2026 at 13:52 UTC
16a4372a3df7579429b7bc23e984bd797a4b7b8d
1 file changed
+14
-10
promisor-remote.c
+14
-10
index 5860a3d3f3..d60518f19c 100644
--- a/promisor-remote.c
+++ b/promisor-remote.c
@@ -642,6 +642,14 @@ static int all_fields_match(struct promisor_info *advertised,
return 1;
}
+static bool has_control_char(const char *s)
+{
+ for (const char *c = s; *c; c++)
+ if (iscntrl(*c))
+ return true;
+ return false;
+}
+
static int should_accept_remote(enum accept_promisor accept,
struct promisor_info *advertised,
struct string_list *config_info)
@@ -772,18 +780,14 @@ static bool valid_filter(const char *filter, const char *remote_name)
return !res;
}
-/* Check that a token doesn't contain any control character */
static bool valid_token(const char *token, const char *remote_name)
{
- const char *c = token;
-
- for (; *c; c++)
- if (iscntrl(*c)) {
- warning(_("invalid token '%s' for remote '%s' "
- "will not be stored"),
- token, remote_name);
- return false;
- }
+ if (has_control_char(token)) {
+ warning(_("invalid token '%s' for remote '%s' "
+ "will not be stored"),
+ token, remote_name);
+ return false;
+ }
return true;
}