diff options
author | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-07-03 13:49:06 +0800 |
---|---|---|
committer | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-07-03 13:49:06 +0800 |
commit | c6ce21a8f241d028c5df5c3275df264b1857fe23 (patch) | |
tree | db2e78e9285d86254b9b4a94878617915df0e0c3 /blog | |
parent | 7ff23307751ae09c504d6586ceaefa650c7d62e1 (diff) | |
download | pttbbs-c6ce21a8f241d028c5df5c3275df264b1857fe23.tar pttbbs-c6ce21a8f241d028c5df5c3275df264b1857fe23.tar.gz pttbbs-c6ce21a8f241d028c5df5c3275df264b1857fe23.tar.bz2 pttbbs-c6ce21a8f241d028c5df5c3275df264b1857fe23.tar.lz pttbbs-c6ce21a8f241d028c5df5c3275df264b1857fe23.tar.xz pttbbs-c6ce21a8f241d028c5df5c3275df264b1857fe23.tar.zst pttbbs-c6ce21a8f241d028c5df5c3275df264b1857fe23.zip |
move BBSFileHeader.pm to util/
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@1002 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'blog')
-rw-r--r-- | blog/BBSFileHeader.pm | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/blog/BBSFileHeader.pm b/blog/BBSFileHeader.pm deleted file mode 100644 index 4865da8b..00000000 --- a/blog/BBSFileHeader.pm +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/perl -package BBSFileHeader; -use strict; -use IO::Handle; -use Data::Dumper; - -use fields qw/dir fh cache/; - -sub TIEHASH -{ - my($class, $dir) = @_; - my $self = fields::new($class); - - open $self->{fh}, "<$dir/.DIR"; - return undef if( !$self->{fh} ); - - $self->{dir} = $dir; - return $self; -} - -sub FETCH -{ - my($self, $k) = @_; - - return $self->{dir} if( $k eq 'dir' ); - return ((-s "$self->{dir}/.DIR") / 128) if( $k eq 'num' ); - - my($num, $key) = $k =~ /(.*)\.(.*)/; - my($t, %h); - - $num += $self->FETCH('num') if( $num < 0 ); - - return $self->{cache}{$num}{$key} if( $self->{cache}{$num}{$key} ); - - seek($self->{fh}, $num * 128, 0); - $self->{fh}->read($t, 128); - - if( $key eq 'isdir' ){ - my $fn = "$self->{dir}/" . $self->FETCH("$num.filename"); - return (-d $fn); - } - elsif( $key eq 'content' ){ - my $fn = "$self->{dir}/" . $self->FETCH("$num.filename"); - return `/bin/cat $fn`; - } - else{ - ($h{filename}, $h{recommend}, $h{owner}, $h{date}, $h{title}) = - unpack('Z33cZ14Z6Z65', $t); - $h{title} = substr($h{title}, 3); - $self->{cache}{$num}{$_} = $h{$_} - foreach( 'filename', 'owner', 'date', 'title' ); - return $h{$key}; - } -} - -1; |