/*
dropin.c -- a set of drop-in replacements for libc functions
Copyright (C) 2000-2005 Ivo Timmermans,
- 2000-2016 Guus Sliepen <guus@tinc-vpn.org>
+ 2000-2022 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "system.h"
+#ifndef HAVE_ASPRINTF
#include "xalloc.h"
+#endif
#ifndef HAVE_DAEMON
/*
}
/* If we are the parent, terminate */
- if(pid)
+ if(pid) {
exit(0);
+ }
/* Detach by becoming the new process group leader */
if(setsid() < 0) {
return 0;
#else
+ (void)nochdir;
+ (void)noclose;
return -1;
#endif
}
status = vsnprintf(*buf, len, fmt, aq);
va_end(aq);
- if(status >= 0)
+ if(status >= 0) {
*buf = xrealloc(*buf, status + 1);
+ }
if(status > len - 1) {
len = status + 1;
return 0;
}
#endif
-
-#ifndef HAVE_NANOSLEEP
-int nanosleep(const struct timespec *req, struct timespec *rem) {
- struct timeval tv = {req->tv_sec, req->tv_nsec / 1000};
- return select(0, NULL, NULL, NULL, &tv);
-}
-#endif