Commit 8e15bd87 authored by Wayne Davison's avatar Wayne Davison

Better compiling if SUPPORT_LINKS is not defined.

parent 4a440e4b
......@@ -874,12 +874,15 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
char *cmpbuf, stat_x *sxp, int itemizing,
enum logcode code)
{
char lnk[MAXPATHLEN];
int best_match = -1;
int match_level = 0;
enum nonregtype type;
uint32 *devp;
int len, j = 0;
#ifdef SUPPORT_LINKS
char lnk[MAXPATHLEN];
int len;
#endif
int j = 0;
#ifndef SUPPORT_LINKS
if (S_ISLNK(file->mode))
......@@ -919,11 +922,13 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
if (!IS_DEVICE(sxp->st.st_mode))
continue;
break;
#ifdef SUPPORT_LINKS
case TYPE_SYMLINK:
#ifdef SUPPORT_LINKS
if (!S_ISLNK(sxp->st.st_mode))
continue;
break;
#else
return -1;
#endif
}
if (match_level < 1) {
......@@ -939,14 +944,16 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx,
if (sxp->st.st_rdev != MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp)))
continue;
break;
#ifdef SUPPORT_LINKS
case TYPE_SYMLINK:
#ifdef SUPPORT_LINKS
if ((len = readlink(cmpbuf, lnk, MAXPATHLEN-1)) <= 0)
continue;
lnk[len] = '\0';
if (strcmp(lnk, F_SYMLINK(file)) != 0)
continue;
break;
#else
return -1;
#endif
}
if (match_level < 2) {
......
......@@ -53,12 +53,14 @@ int do_unlink(const char *fname)
return unlink(fname);
}
int do_symlink(const char *fname1, const char *fname2)
#ifdef SUPPORT_LINKS
int do_symlink(const char *lnk, const char *fname)
{
if (dry_run) return 0;
RETURN_ERROR_IF_RO_OR_LO;
return symlink(fname1, fname2);
return symlink(lnk, fname);
}
#endif
#ifdef HAVE_LINK
int do_link(const char *fname1, const char *fname2)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment