From: Christos Zoulas Date: Fri, 9 Jan 2009 19:09:03 +0000 (+0000) Subject: Treat an empty sublink as an unset sublink. X-Git-Url: https://git.fsl.cs.stonybrook.edu/?a=commitdiff_plain;h=ed05ae13a1dc9018d2b006866b0dd463e3ac326b;p=am-utils-6.0.git Treat an empty sublink as an unset sublink. --- diff --git a/amd/amfs_generic.c b/amd/amfs_generic.c index 3788e47..e31267d 100644 --- a/amd/amfs_generic.c +++ b/amd/amfs_generic.c @@ -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); /* diff --git a/amd/amfs_link.c b/amd/amfs_link.c index 5f003b4..5d65d5f 100644 --- a/amd/amfs_link.c +++ b/amd/amfs_link.c @@ -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; diff --git a/amd/amfs_nfsl.c b/amd/amfs_nfsl.c index 304074c..cd7e386 100644 --- a/amd/amfs_nfsl.c +++ b/amd/amfs_nfsl.c @@ -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; diff --git a/amd/amfs_nfsx.c b/amd/amfs_nfsx.c index 4a1cce3..1d5002a 100644 --- a/amd/amfs_nfsx.c +++ b/amd/amfs_nfsx.c @@ -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);