ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra/Deliantra.pm
(Generate patch)

Comparing deliantra/Deliantra/Deliantra.pm (file contents):
Revision 1.63 by root, Fri Mar 31 21:06:47 2006 UTC vs.
Revision 1.64 by root, Sun Apr 2 20:17:23 2006 UTC

298 } 298 }
299 299
300 \%pak 300 \%pak
301} 301}
302 302
303sub read_arch($) { 303sub read_arch($;$) {
304 my ($path) = @_; 304 my ($path, $toplevel) = @_;
305 305
306 my %arc; 306 my %arc;
307 my ($more, $prev); 307 my ($more, $prev);
308 308
309 open my $fh, "<:raw:perlio:utf8", $path 309 open my $fh, "<:raw:perlio:utf8", $path
366 } else { 366 } else {
367 push @{ $arc{arch} }, $arc; 367 push @{ $arc{arch} }, $arc;
368 } 368 }
369 $prev = $arc; 369 $prev = $arc;
370 $more = undef; 370 $more = undef;
371 } elsif ($toplevel && /^(\S+)\s+(.*)$/) {
372 if ($1 eq "lev_array") {
373 while (<$fh>) {
374 last if /^endplst\s*$/;
375 push @{$toplevel->{lev_array}}, $_+0;
376 }
377 } else {
378 $toplevel->{$1} = $2;
379 }
371 } elsif (/^\s*($|#)/) { 380 } elsif (/^\s*($|#)/) {
372 # 381 #
373 } else { 382 } else {
374 warn "$path: unparseable top-level line '$_'"; 383 die "$path: unparseable top-level line '$_'";
375 } 384 }
376 } 385 }
377 386
378 undef $parse_block; # work around bug in perl not freeing $fh etc. 387 undef $parse_block; # work around bug in perl not freeing $fh etc.
379 388

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines