src(s),
dest(d)
{
- announce(pkg.get_name(), "COPY", dest[-1]);
+ announce(pkg.get_name(), "COPY", dest.str());
if(builder.get_verbose()>=2)
IO::print("%s -> %s\n", s, d);
if(!builder.get_dry_run())
- worker=new Worker(*this);
+ worker = new Worker(*this);
}
{
FS::mkpath(FS::dirname(copy.dest), 0755);
- try
- {
- // Remove old file. Not doing this would cause Bad Stuff when installing libraries.
- unlink(copy.dest);
- }
- catch(const SystemError &e)
+ // Remove old file. Not doing this would cause Bad Stuff when installing libraries.
+ if(FS::exists(copy.dest))
{
- if(e.get_error_code()!=ENOENT)
+ try
+ {
+ unlink(copy.dest);
+ }
+ catch(const Exception &e)
{
IO::print(IO::cerr, "%s\n", e.what());
- done=error=true;
+ done = error = true;
return;
}
}
char buf[16384];
while(!in.eof())
{
- unsigned len=in.read(buf, sizeof(buf));
+ unsigned len = in.read(buf, sizeof(buf));
out.write(buf, len);
}
}
catch(const Exception &e)
{
IO::print(IO::cerr, "%s\n", e.what());
- done=error=true;
+ done = error = true;
return;
}
// Preserve file permissions
- struct stat st=FS::stat(copy.src);
+ struct stat st = FS::stat(copy.src);
chmod(copy.dest.str().c_str(), st.st_mode&0777);
- done=true;
+ done = true;
}