Output filename to metadata log after fully processing file.
authorMichael Vrable <mvrable@cs.ucsd.edu>
Thu, 24 May 2007 19:53:26 +0000 (12:53 -0700)
committerMichael Vrable <mvrable@turin.ucsd.edu>
Thu, 24 May 2007 19:53:26 +0000 (12:53 -0700)
Previously, if there was an error processing the file, the metadata
dictionary was not output, but the filename was, producing an incorrect
metadata file.  This is now fixed.

scandir.cc

index a82bc5e..9a590ba 100644 (file)
@@ -221,8 +221,6 @@ void scanfile(const string& path)
 
     printf("%s\n", path.c_str());
 
-    metadata << "name: " << uri_encode(path) << "\n";
-
     file_info["mode"] = encode_int(stat_buf.st_mode & 07777);
     file_info["mtime"] = encode_int(stat_buf.st_mtime);
     file_info["user"] = encode_int(stat_buf.st_uid);
@@ -318,6 +316,7 @@ void scanfile(const string& path)
 
     file_info["type"] = string(1, inode_type);
 
+    metadata << "name: " << uri_encode(path) << "\n";
     dict_output(metadata, file_info);
     metadata << "\n";