gitweb: unify boolean feature subroutines
The boolean feature subroutines behaved identically except for the name of the configuration option, so make that a parameter and unify them. Signed-off-by: Matt Kraai <kraai@ftbfs.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matt Kraai committed
Dec 15, 2008 at 22:16 UTC
cdad8170b223a73dc37197d5ba78a3ac7b824406
1 file changed
+9
-32
gitweb/gitweb.perl
+9
-32
@@ -203,7 +203,7 @@ our %feature = (
203
# $feature{'blame'}{'override'} = 1;
204
# and in project config gitweb.blame = 0|1;
205
'blame' => {
206
- 'sub' => \&feature_blame,
206
+ 'sub' => sub { feature_bool('blame', @_) },
207
'override' => 0,
208
'default' => [0]},
209
@@ -241,7 +241,7 @@ our %feature = (
241
# $feature{'grep'}{'override'} = 1;
242
# and in project config gitweb.grep = 0|1;
243
'grep' => {
244
- 'sub' => \&feature_grep,
244
+ 'sub' => sub { feature_bool('grep', @_) },
245
'override' => 0,
246
'default' => [1]},
247
@@ -255,7 +255,7 @@ our %feature = (
255
# $feature{'pickaxe'}{'override'} = 1;
256
# and in project config gitweb.pickaxe = 0|1;
257
'pickaxe' => {
258
- 'sub' => \&feature_pickaxe,
258
+ 'sub' => sub { feature_bool('pickaxe', @_) },
259
'override' => 0,
260
'default' => [1]},
261
@@ -363,16 +363,17 @@ sub gitweb_check_feature {
363
}
364
365
366
-sub feature_blame {
367
- my ($val) = git_get_project_config('blame', '--bool');
366
+sub feature_bool {
367
+ my $key = shift;
368
+ my ($val) = git_get_project_config($key, '--bool');
369
370
if ($val eq 'true') {
370
- return 1;
371
+ return (1);
372
} elsif ($val eq 'false') {
372
- return 0;
373
+ return (0);
374
}
375
375
- return $_[0];
376
+ return ($_[0]);
377
}
378
379
sub feature_snapshot {
@@ -387,30 +388,6 @@ sub feature_snapshot {
388
return @fmts;
389
}
390
390
-sub feature_grep {
391
- my ($val) = git_get_project_config('grep', '--bool');
392
-
393
- if ($val eq 'true') {
394
- return (1);
395
- } elsif ($val eq 'false') {
396
- return (0);
397
- }
398
-
399
- return ($_[0]);
400
-}
401
-
402
-sub feature_pickaxe {
403
- my ($val) = git_get_project_config('pickaxe', '--bool');
404
-
405
- if ($val eq 'true') {
406
- return (1);
407
- } elsif ($val eq 'false') {
408
- return (0);
409
- }
410
-
411
- return ($_[0]);
412
-}
413
-
391
# checking HEAD file with -e is fragile if the repository was
392
# initialized long time ago (i.e. symlink HEAD) and was pack-ref'ed
393
# and then pruned.