]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - support/export/export.c
Imported Debian patch 1.0.7-5
[nfs-utils.git] / support / export / export.c
index eef2c3b5fcb5a247bb9e74f4c0f1ec97bc969f03..edfe52faf3b54c06c998f06b99776cf50aaff4a0 100644 (file)
@@ -129,7 +129,7 @@ export_add(nfs_export *exp)
                xlog(L_FATAL, "unknown client type in export_add");
 
        epp = exportlist + type;
-       while (*epp && slen < strlen((*epp)->m_export.e_path))
+       while (*epp && slen <= strlen((*epp)->m_export.e_path))
                epp = &((*epp)->m_next);
        exp->m_next = *epp;
        *epp = exp;
@@ -172,10 +172,9 @@ export_allowed_internal (struct hostent *hp, char *path)
        return NULL;
 }
 
-struct exportent *
+nfs_export *
 export_allowed(struct hostent *hp, char *path)
 {
-       static struct exportent ee;
        nfs_export              *exp;
        char                    epath[MAXPATHLEN+1];
        char                    *p = NULL;
@@ -188,10 +187,8 @@ export_allowed(struct hostent *hp, char *path)
        /* Try the longest matching exported pathname. */
        while (1) {
                exp = export_allowed_internal (hp, epath);
-               if (exp) {
-                       dupexportent(&ee, &exp->m_export);
-                       return &ee;
-               }
+               if (exp)
+                       return exp;
                /* We have to treat the root, "/", specially. */
                if (p == &epath[1]) break;
                p = strrchr(epath, '/');