]> git.tdb.fi Git - builder.git/blobdiff - source/copy.cpp
Add comments
[builder.git] / source / copy.cpp
index 0607b5de5b0d59c0bb3c285f9e0e48fee48eb80c..6ad2a5e791d1705509f9bff208b27e3819764044 100644 (file)
@@ -25,7 +25,7 @@ Copy::Copy(Builder &b, const Package &pkg, const Path::Path &s, const Path::Path
 
 int Copy::check()
 {
-       if(!worker)
+       if(!worker)  // True for dry run
        {
                signal_done.emit();
                return 0;
@@ -50,6 +50,7 @@ void Copy::Worker::main()
 {
        Path::mkpath(copy.dest.subpath(0, copy.dest.size()-1), 0755);
        
+       // Remove old file.  Not doing this would cause Bad Stuff when installing libraries.
        if(unlink(copy.dest.str().c_str())<0 && errno!=ENOENT)
        {
                int err=errno;
@@ -74,6 +75,7 @@ void Copy::Worker::main()
                return;
        }
 
+       // Actual transfer loop
        char buf[16384];
        while(!in.eof())
        {
@@ -81,6 +83,7 @@ void Copy::Worker::main()
                out.write(buf, in.gcount());
        }
 
+       // Preserve file permissions
        struct stat st;
        Path::stat(copy.src, st);
        chmod(copy.dest.str().c_str(), st.st_mode&0777);