]> git.tdb.fi Git - builder.git/blobdiff - source/tar.cpp
Further changes for library compatibility
[builder.git] / source / tar.cpp
index bfb4f5f9761f245dfa83cd8279a0b7a01c05bab0..1869865b93bc1426f6e5afc75dfc82ef2bcb323d 100644 (file)
@@ -64,12 +64,12 @@ void Tar::Worker::main()
 
                memcpy(buf, rel_path.data(), rel_path.size());
 
-               struct stat st = FS::stat(ft->get_path());
-               store_number(buf+100, st.st_mode, 7);
-               store_number(buf+108, st.st_uid, 7);
-               store_number(buf+116, st.st_gid, 7);
-               store_number(buf+124, st.st_size, 11);
-               store_number(buf+136, st.st_mtime, 11);
+               FS::Stat st = FS::stat(ft->get_path());
+               store_number(buf+100, 0666, 7);
+               store_number(buf+108, 0, 7);
+               store_number(buf+116, 0, 7);
+               store_number(buf+124, st.get_size(), 11);
+               store_number(buf+136, st.get_modify_time().to_unixtime(), 11);
                buf[156] = '0';
 
                memset(buf+148, ' ', 8);
@@ -81,7 +81,7 @@ void Tar::Worker::main()
 
                out.write(buf, 512);
                IO::File in(ft->get_path().str());
-               for(int j=0; j<st.st_size; j+=4096)
+               for(unsigned j=0; j<st.get_size(); j+=4096)
                {
                        unsigned len = in.read(buf, 4096);
                        len += ((~len)+1)&0777;