]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/statd/misc.c
statd: Replace note() with xlog() in rpc.statd
[nfs-utils.git] / utils / statd / misc.c
index d2365d647bb7e5fd86f82c6e87ad3166830d7256..44af30eea07ef8ccf7d4f9990c5ed18540c66041 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>
@@ -27,8 +29,7 @@ xmalloc (size_t size)
     return ((void *)NULL);
 
   if (!(ptr = malloc (size)))
-    /* SHIT!  SHIT!  SHIT! */
-    die ("malloc failed");
+    xlog_err ("malloc failed");
 
   return (ptr);
 }
@@ -44,30 +45,31 @@ xstrdup (const char *string)
 
   /* Will only fail if underlying malloc() fails (ENOMEM). */
   if (!(result = strdup (string)))
-    die ("strdup failed");
+    xlog_err ("strdup failed");
 
   return (result);
 }
 
 
 /*
- * 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) {
+               xlog(L_ERROR, "xunlink: malloc failed: errno %d (%m)", 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)
+               xlog(L_ERROR, "unlink (%s): %m", tozap);
+       else
+               xlog(D_GENERAL, "Unlinked %s", tozap);
+
+       free(tozap);
 }