Better compiling if SUPPORT_LINKS is not defined.
authorWayne Davison <wayned@samba.org>
Wed, 2 Sep 2009 15:53:40 +0000 (08:53 -0700)
committerWayne Davison <wayned@samba.org>
Wed, 2 Sep 2009 15:53:40 +0000 (08:53 -0700)
generator.c
syscall.c

index df2434f..2aa07cd 100644 (file)
@@ -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) {
index cfabc3e..2d704a8 100644 (file)
--- a/syscall.c
+++ b/syscall.c
@@ -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)