]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/statd/misc.c
Merge branch 'upstream'
[nfs-utils.git] / utils / statd / misc.c
index 42f6e57d7dfff07c0efaf0cc3ce43fdd8c8f01b1..725629116a2228be0fdb013c623e4f1426f31a6a 100644 (file)
@@ -6,7 +6,9 @@
  * NSM for Linux.
  */
 
-#include "config.h"
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
 
 #include <errno.h>
 #include <limits.h>
@@ -51,22 +53,25 @@ xstrdup (const char *string)
 
 
 /*
- * Call with check=1 to verify that this host is not still on the rtnl
- * before unlinking file.
+ * Unlinking a file.
  */
 void
-xunlink (char *path, char *host, short int check)
+xunlink (char *path, char *host)
 {
-  char *tozap;
+       char *tozap;
 
-  tozap=alloca (strlen(path)+strlen(host)+2);
-  sprintf (tozap, "%s/%s", path, host);
+       tozap = malloc(strlen(path)+strlen(host)+2);
+       if (tozap == NULL) {
+               note(N_ERROR, "xunlink: malloc failed: errno %d (%s)", 
+                       errno, strerror(errno));
+               return;
+       }
+       sprintf (tozap, "%s/%s", path, host);
 
-  if (!check || !nlist_gethost(rtnl, host, 0))
-    if (unlink (tozap) == -1)
-      log (L_ERROR, "unlink (%s): %s", tozap, strerror (errno));
-    else
-      dprintf (L_DEBUG, "Unlinked %s", tozap);
-  else
-    dprintf (L_DEBUG, "Not unlinking %s--host still monitored.", tozap);
+       if (unlink (tozap) == -1)
+               note(N_ERROR, "unlink (%s): %s", tozap, strerror (errno));
+       else
+               dprintf (N_DEBUG, "Unlinked %s", tozap);
+
+       free(tozap);
 }