summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Krzesimir Nowak <krzesimir@endocode.com>2013-12-11 12:54:41 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-12-12 12:37:36 -0800
commitc0bc2265ef74331c0314be4a3f148e784800c3de (patch)
tree20a61752f69423d2972e3434bdef810d53745357
parentGit 1.8.5.1 (diff)
downloadtgif-c0bc2265ef74331c0314be4a3f148e784800c3de.tar.xz
gitweb: Move check-ref-format code into separate function
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>
-rwxr-xr-xgitweb/gitweb.perl17
1 files changed, 13 insertions, 4 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 68c77f6f8f..46bd6ac8c3 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -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;
}