/*
- * 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)
- note (N_ERROR, "unlink (%s): %s", tozap, strerror (errno));
- else
- dprintf (N_DEBUG, "Unlinked %s", tozap);
- }
- else
- dprintf (N_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);
}
/* PRC: do the HA callout: */
ha_callout("del-client", mon_name, my_name, -1);
- xunlink(SM_DIR, clnt->dns_name, 1);
+ xunlink(SM_DIR, clnt->dns_name);
nlist_free(&rtnl, clnt);
return (&result);
temp = NL_NEXT(clnt);
/* PRC: do the HA callout: */
ha_callout("del-client", mon_name, my_name, -1);
- xunlink(SM_DIR, clnt->dns_name, 1);
+ xunlink(SM_DIR, clnt->dns_name);
nlist_free(&rtnl, clnt);
++count;
clnt = temp;
extern int process_reply(FD_SET_TYPE *);
extern char * xstrdup(const char *);
extern void * xmalloc(size_t);
-extern void xunlink (char *, char *, short int);
+extern void xunlink (char *, char *);
extern void load_state(void);
/*