better support for zero-sized files
authorDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 26 Apr 2005 19:57:51 +0000 (19:57 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Tue, 26 Apr 2005 19:57:51 +0000 (19:57 +0000)
git-svn-id: svn://svn.rot13.org/fuse_dbi/trunk@54 17f4e80c-d0e0-0310-8903-bfc3ae804c12

DBI.pm

diff --git a/DBI.pm b/DBI.pm
index f8c7907..7c07132 100755 (executable)
--- a/DBI.pm
+++ b/DBI.pm
@@ -373,7 +373,7 @@ sub e_getattr {
        $file =~ s,^/,,;
        $file = '.' unless length($file);
        return -ENOENT() unless exists($files{$file});
        $file =~ s,^/,,;
        $file = '.' unless length($file);
        return -ENOENT() unless exists($files{$file});
-       my ($size) = $files{$file}{size} || BLOCK;
+       my ($size) = $files{$file}{size} || 0;
        my ($dev, $ino, $rdev, $blocks, $gid, $uid, $nlink, $blksize) = (0,0,0,int(($size+BLOCK-1)/BLOCK),0,0,1,BLOCK);
        my ($atime, $ctime, $mtime);
        $atime = $ctime = $mtime = $files{$file}{ctime} || $ctime_start;
        my ($dev, $ino, $rdev, $blocks, $gid, $uid, $nlink, $blksize) = (0,0,0,int(($size+BLOCK-1)/BLOCK),0,0,1,BLOCK);
        my ($atime, $ctime, $mtime);
        $atime = $ctime = $mtime = $files{$file}{ctime} || $ctime_start;
@@ -432,6 +432,7 @@ sub e_open {
 
        read_content($file,$files{$file}{id}) unless exists($files{$file}{cont});
 
 
        read_content($file,$files{$file}{id}) unless exists($files{$file}{cont});
 
+       $files{$file}{cont} ||= '';
        print "open '$file' ",length($files{$file}{cont})," bytes\n";
        return 0;
 }
        print "open '$file' ",length($files{$file}{cont})," bytes\n";
        return 0;
 }