]> git.tdb.fi Git - builder.git/blobdiff - source/tar.cpp
Replace per-file copyright notices with a single file
[builder.git] / source / tar.cpp
index bfb4f5f9761f245dfa83cd8279a0b7a01c05bab0..d3301a0dbcb1ae1e3d0bae93689d9400c8c9c772 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of builder
-Copyright © 2007-2009  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #include <cstring>
 #include <msp/fs/stat.h>
 #include <msp/fs/utils.h>
@@ -64,12 +57,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 +74,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;