int success = 0;
if (conf->dryrun) {
- printf("chmod %o %s\n", item->mode, item->dest);
+ if (item->ftype != 'l') {
+ printf("chmod %o %s\n", item->mode, item->dest);
+ }
if (conf->setuser && conf->setgroup) {
printf("chown %d:%d %s\n", item->uid, item->gid,
item->dest);
return success;
}
- rv = chmod(item->dest, item->mode);
+ /* can't chmod a symlink */
+ if (item->ftype != 'l') {
+ rv = chmod(item->dest, item->mode);
- if (rv == -1) {
- setsyserr(conf, "can't chmod %o %s", item->mode, item->dest);
- return conf->errabort;
+ if (rv == -1) {
+ setsyserr(conf, "can't chmod %o %s", item->mode, item->dest);
+ return conf->errabort;
+ }
}
if (conf->setuser && conf->setgroup) {