]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - support/export/export.c
Merge branch 'sid'
[nfs-utils.git] / support / export / export.c
index eca833c6762f855914748a30cab617c099d78cbc..6b1d0459b78806f959348d8cf0665f3f06311f0b 100644 (file)
@@ -31,15 +31,21 @@ static nfs_export *
                export_allowed_internal(const struct addrinfo *ai,
                                const char *path);
 
+void
+exportent_release(struct exportent *eep)
+{
+       xfree(eep->e_squids);
+       xfree(eep->e_sqgids);
+       free(eep->e_mountpoint);
+       free(eep->e_fslocdata);
+       free(eep->e_uuid);
+       xfree(eep->e_hostname);
+}
+
 static void
 export_free(nfs_export *exp)
 {
-       xfree(exp->m_export.e_squids);
-       xfree(exp->m_export.e_sqgids);
-       free(exp->m_export.e_mountpoint);
-       free(exp->m_export.e_fslocdata);
-
-       xfree(exp->m_export.e_hostname);
+       exportent_release(&exp->m_export);
        xfree(exp);
 }
 
@@ -81,8 +87,13 @@ export_read(char *fname)
        endexportent();
 }
 
-/*
- * Create an in-core export struct from an export entry.
+/**
+ * export_create - create an in-core nfs_export record from an export entry
+ * @xep: export entry to lookup
+ * @canonical: if set, e_hostname is known to be canonical DNS name
+ *
+ * Returns a freshly instantiated export record, or NULL if
+ * a problem occurred.
  */
 nfs_export *
 export_create(struct exportent *xep, int canonical)
@@ -260,11 +271,17 @@ export_allowed(const struct addrinfo *ai, const char *path)
        return NULL;
 }
 
-/*
- * Search hash table for export entry. 
- */  
+/**
+ * export_lookup - search hash table for export entry
+ * @hname: '\0'-terminated ASCII string containing client hostname to look for
+ * @path: '\0'-terminated ASCII string containing export path to look for
+ * @canonical: if set, @hname is known to be canonical DNS name
+ *
+ * Returns a pointer to nfs_export record matching @hname and @path,
+ * or NULL if the export was not found.
+ */
 nfs_export *
-export_lookup(char *hname, char *path, int canonical) 
+export_lookup(char *hname, char *path, int canonical)
 {
        nfs_client *clp;
        nfs_export *exp;
@@ -345,7 +362,7 @@ strtoint(char *str)
 static int 
 export_hash(char *str)
 {
-       int num = strtoint(str);
+       unsigned int num = strtoint(str);
 
        return num % HASH_TABLE_SIZE;
 }