X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=hacks%2Fcheck-configs.pl;h=165af0891d25615082b53f564a2b39be40f55974;hb=ff35d056d723c9a5ffe728dbba5f1c25e141be04;hp=231d8f7bed8551d853693a5c9c7ef0023b015407;hpb=ec8d2b32b63649e6d32bdfb306eda062769af823;p=xscreensaver diff --git a/hacks/check-configs.pl b/hacks/check-configs.pl index 231d8f7b..165af089 100755 --- a/hacks/check-configs.pl +++ b/hacks/check-configs.pl @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# Copyright © 2008-2011 Jamie Zawinski +# Copyright © 2008-2012 Jamie Zawinski # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that @@ -19,7 +19,7 @@ use diagnostics; use strict; my $progname = $0; $progname =~ s@.*/@@g; -my $version = q{ $Revision: 1.4 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/; +my $version = q{ $Revision: 1.5 $ }; $version =~ s/^[^\d]+([\d.]+).*/$1/; my $verbose = 0; @@ -32,6 +32,12 @@ $xlockmore_default_opts .= "{\"-wireframe\", \".wireframe\", XrmoptionNoArg, \"true\"},\n" . "{\"-3d\", \".use3d\", XrmoptionNoArg, \"true\"},\n"; +my $analogtv_default_opts = ''; +foreach (qw(color tint brightness contrast)) { + $analogtv_default_opts .= "{\"-tv-$_\", \".TV$_\", XrmoptionSepArg, 0},\n"; +} + + # Returns two tables: # - A table of the default resource values. @@ -56,12 +62,13 @@ sub parse_src($) { close IN; $file =~ s@^.*/@@; + my $xlockmore_p = 0; + my $analogtv_p = ($body =~ m/ANALOGTV_DEFAULTS/); + $body =~ s@/\*.*?\*/@@gs; $body =~ s@^#\s*(if|ifdef|ifndef|elif|else|endif).*$@@gm; $body =~ s/ANALOGTV_(DEFAULTS|OPTIONS)//gs; - my $xlockmore_p = 0; - print STDERR "$progname: $file: defaults:\n" if ($verbose > 2); my %res_to_val; if ($body =~ m/_defaults\s*\[\]\s*=\s*{(.*?)}\s*;/s) { @@ -116,9 +123,11 @@ sub parse_src($) { $switch_to_res{-fps} = 'doFPS: true'; my ($ign, $opts) = ($body =~ m/(_options|\bopts)\s*\[\]\s*=\s*{(.*?)}\s*;/s); - if ($xlockmore_p || $opts) { + if ($xlockmore_p || $analogtv_p || $opts) { $opts = '' unless $opts; $opts .= ",\n$xlockmore_default_opts" if ($xlockmore_p); + $opts .= ",\n$analogtv_default_opts" if ($analogtv_p); + foreach (split (/,\s*\n/, $opts)) { s/^\s*//s; s/\s*$//s; @@ -277,7 +286,10 @@ sub check_config($) { error ("$saver: unparsable xml claim: $_") unless $compare; my $sval = $src_opts->{$res}; - if (!defined($sval)) { + if ($res =~ m/^TV/) { + print STDERR "$progname: $saver: OK: skipping \"$res\"\n" + if ($verbose > 1); + } elsif (!defined($sval)) { print STDERR "$progname: $saver: $res: not in source\n"; } elsif ($compare eq '!=' ? $sval eq $xval