Treat an empty sublink as an unset sublink.
authorChristos Zoulas <christos@zoulas.com>
Fri, 9 Jan 2009 19:09:03 +0000 (19:09 +0000)
committerChristos Zoulas <christos@zoulas.com>
Fri, 9 Jan 2009 19:09:03 +0000 (19:09 +0000)
amd/amfs_generic.c
amd/amfs_link.c
amd/amfs_nfsl.c
amd/amfs_nfsx.c

index 3788e473e5fc80a0946e1c0386bcf1271800f8d3..e31267d22c2692e83a3f96595fad98d659905dda 100644 (file)
@@ -269,7 +269,7 @@ amfs_lookup_one_mntfs(am_node *new_mp, mntfs *mf, char *ivec,
   /* XXX: this should be factored out into an autofs-specific function */
   if (new_mp->am_flags & AMF_AUTOFS) {
     /* ignore user-provided fs if we're using autofs */
-    if (fs_opts->opt_sublink) {
+    if (fs_opts->opt_sublink && fs_opts->opt_sublink[0]) {
       /*
        * For sublinks we need to use a hack with autofs:
        * mount the filesystem on the original opt_fs (which is NOT an
@@ -740,7 +740,7 @@ amfs_bgmount(struct continuation *cp)
       XFREE(mp->am_link);
       mp->am_link = NULL;
     }
-    if (mf->mf_fo && mf->mf_fo->opt_sublink)
+    if (mf->mf_fo && mf->mf_fo->opt_sublink && mf->mf_fo->opt_sublink[0])
       mp->am_link = strdup(mf->mf_fo->opt_sublink);
 
     /*
index 5f003b415cf4b64db125386ac9d5e230f82e9e7c..5d65d5f12df150bd9b44d3c2a46dfb6cafc4f60b 100644 (file)
@@ -109,7 +109,7 @@ amfs_link_match(am_opts *fo)
    */
   if (fo->opt_fs[0] == '/') {
     char *link_hack = str3cat(NULL, ".", fo->opt_fs, "");
-    if (!fo->opt_sublink)
+    if (fo->opt_sublink == NULL || fo->opt_sublink[0] == '\0')
       fo->opt_sublink = strdup(fo->opt_fs);
     XFREE(fo->opt_fs);
     fo->opt_fs = link_hack;
index 304074cf12750656ab878fae18d102def55459f9..cd7e3862ca0320330e85b99398c5bc0bfcf36691 100644 (file)
@@ -101,7 +101,7 @@ amfs_nfsl_match(am_opts *fo)
   char *retval;
   struct stat stb;
 
-  if (fo->opt_sublink)
+  if (fo->opt_sublink && fo->opt_sublink[0])
     cp = fo->opt_sublink;
   else
     cp = fo->opt_fs;
@@ -217,7 +217,7 @@ amfs_nfsl_ffserver(mntfs *mf)
   char *ho = mf->mf_fo->opt_rhost;
   struct stat stb;
 
-  if (mf->mf_fo->opt_sublink)
+  if (mf->mf_fo->opt_sublink && mf->mf_fo->opt_sublink[0])
     cp = mf->mf_fo->opt_sublink;
   else
     cp = mf->mf_fo->opt_fs;
index 4a1cce380103b74f57a68f5c27eebb6373de6bc8..1d5002a980081486b17a99179f06225be894f859 100644 (file)
@@ -118,7 +118,7 @@ amfs_nfsx_match(am_opts *fo)
   }
 
   /* set default sublink */
-  if (fo->opt_sublink == 0) {
+  if (fo->opt_sublink == NULL || fo->opt_sublink[0] == '\0') {
     ptr = strchr(fo->opt_rfs, ',');
     if (ptr && ptr > (fo->opt_rfs + 1))
       fo->opt_sublink = strnsave(fo->opt_rfs + 1, ptr - fo->opt_rfs - 1);