X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fdropin.c;h=e732fa090bae438ae60f87e446ce6a0c4cd5566f;hb=4c704a92f4fd9c162995b69ab063f6fa59c20c26;hp=fe3b7ef218ae79c8827388a19d10f1755d2c9528;hpb=46ebfbb6eb9966239f7826e002d99554420bbbc8;p=tinc diff --git a/src/dropin.c b/src/dropin.c index fe3b7ef2..e732fa09 100644 --- a/src/dropin.c +++ b/src/dropin.c @@ -1,7 +1,7 @@ /* dropin.c -- a set of drop-in replacements for libc functions Copyright (C) 2000-2005 Ivo Timmermans, - 2000-2016 Guus Sliepen + 2000-2022 Guus Sliepen 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 @@ -20,7 +20,9 @@ #include "system.h" +#ifndef HAVE_ASPRINTF #include "xalloc.h" +#endif #ifndef HAVE_DAEMON /* @@ -50,8 +52,9 @@ int daemon(int nochdir, int noclose) { } /* If we are the parent, terminate */ - if(pid) + if(pid) { exit(0); + } /* Detach by becoming the new process group leader */ if(setsid() < 0) { @@ -81,6 +84,8 @@ int daemon(int nochdir, int noclose) { return 0; #else + (void)nochdir; + (void)noclose; return -1; #endif } @@ -108,11 +113,12 @@ int vasprintf(char **buf, const char *fmt, va_list ap) { 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; + len = status + 1; va_copy(aq, ap); status = vsnprintf(*buf, len, fmt, aq); va_end(aq); @@ -139,10 +145,3 @@ int gettimeofday(struct timeval *tv, void *tz) { 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