]> git.ipfire.org Git - thirdparty/git.git/commitdiff
promisor-remote: refactor has_control_char()
authorChristian Couder <christian.couder@gmail.com>
Tue, 7 Apr 2026 11:52:39 +0000 (13:52 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 7 Apr 2026 15:45:44 +0000 (08:45 -0700)
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>
promisor-remote.c

index 5860a3d3f36e09015fe74606dd366c8556ae34c5..d60518f19c053eba557e95c8ceaf01ba40d1081f 100644 (file)
@@ -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;
 }