summaryrefslogtreecommitdiffstats
path: root/games/nonsense/files/patch-nonsense
diff options
context:
space:
mode:
Diffstat (limited to 'games/nonsense/files/patch-nonsense')
-rw-r--r--games/nonsense/files/patch-nonsense59
1 files changed, 59 insertions, 0 deletions
diff --git a/games/nonsense/files/patch-nonsense b/games/nonsense/files/patch-nonsense
new file mode 100644
index 0000000..b676817
--- /dev/null
+++ b/games/nonsense/files/patch-nonsense
@@ -0,0 +1,59 @@
+--- nonsense 2000/12/22 17:29:22 1.1.1.4
++++ nonsense 2000/12/22 17:31:00 1.7
+@@ -40,6 +40,10 @@
+ use POSIX qw( strftime ); # Just in case somebody needs the date
+ use CGI;
+
++my $PREFIX = "/usr/local";
++my $datadir = "$PREFIX/share/nonsense/data";
++my $templatedir = "$PREFIX/share/nonsense/template";
++
+ my %pool; # Where the datafiles are slurped into
+ my %static; # Hash of persistent data (to maintain state)
+
+@@ -332,7 +336,8 @@
+ sub LoadDataFile {
+ my $file = shift;
+ $file = SafeFile( $file ) if $cgi_mode;
+- open IN, $file or die "Error opening $file... $!\n";
++ open IN, $file or open IN, "$datadir/$file"
++ or die "Error opening $file... $!\n";
+ local $/ = '';
+
+ SECTION: while( <IN> ) {
+@@ -348,7 +353,8 @@
+ my $file = shift;
+ my $m = '';
+ $file = SafeFile( $file ) if $cgi_mode;
+- open IN, $file or die "Error opening $file template... $!\n";
++ open IN, $file or open IN, "$templatedir/$file"
++ or die "Error opening $file template... $!\n";
+ local $/; undef $/; my $t = <IN>;
+ close IN;
+ if( $t =~ /__BEGIN__/ ) { # Check for a header
+@@ -365,10 +371,24 @@
+ return $file;
+ }
+
++sub ListUniq {
++ my ($v, $last) = (undef, undef);
++ my @l = ();
++
++ foreach $v (@_) {
++ push (@l, $v) if (defined($last) && ($v ne $last));
++ $last = $v;
++ }
++ return @l;
++}
++
+ ### Return all of the datafiles in the current directory
+ sub GlobCurrentDirectory {
+ opendir(DIR, ".");
+ my @datafiles = grep { /\.data$/ } readdir(DIR);
++ closedir(DIR);
++ opendir(DIR, "$datadir");
++ push(@datafiles, grep { /\.data$/ } readdir(DIR));
+ closedir(DIR);
+- return @datafiles;
++ return ListUniq(sort @datafiles);
+ }
OpenPOWER on IntegriCloud