]> Pileus Git - ~andy/git/commitdiff
gitweb: Move check-ref-format code into separate function
authorKrzesimir Nowak <krzesimir@endocode.com>
Wed, 11 Dec 2013 11:54:41 +0000 (12:54 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 12 Dec 2013 20:37:36 +0000 (12:37 -0800)
This check will be used in more than one place later.

Signed-off-by: Krzesimir Nowak <krzesimir@endocode.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb/gitweb.perl

index 68c77f6f8ffd120f0011eb07accdc2849afca834..46bd6ac8c30a5d6dec1c71e01d60f1080feaf8ce 100755 (executable)
@@ -1452,6 +1452,16 @@ sub validate_pathname {
        return $input;
 }
 
+sub is_valid_ref_format {
+       my $input = shift || return undef;
+
+       # restrictions on ref name according to git-check-ref-format
+       if ($input =~ m!(/\.|\.\.|[\000-\040\177 ~^:?*\[]|/$)!) {
+               return undef;
+       }
+       return $input;
+}
+
 sub validate_refname {
        my $input = shift || return undef;
 
@@ -1462,10 +1472,9 @@ sub validate_refname {
        # it must be correct pathname
        $input = validate_pathname($input)
                or return undef;
-       # restrictions on ref name according to git-check-ref-format
-       if ($input =~ m!(/\.|\.\.|[\000-\040\177 ~^:?*\[]|/$)!) {
-               return undef;
-       }
+       # check git-check-ref-format restrictions
+       is_valid_ref_format($input)
+               or return undef;
        return $input;
 }