void logv(int sysloglevel, const char *pfx, int errnoval,
const char *fmt, va_list al) {
- char msgbuf[1024]; /* NB do not call xvasprintf here or you'll recurse */
+ char msgbuf[1024]; /* NB do not call mvasprintf here or you'll recurse */
vsnprintf(msgbuf,sizeof(msgbuf), fmt,al);
msgbuf[sizeof(msgbuf)-1]= 0;
/*========== utility functions etc. ==========*/
-char *xvasprintf(const char *fmt, va_list al) {
+char *mvasprintf(const char *fmt, va_list al) {
char *str;
int rc= vasprintf(&str,fmt,al);
if (rc<0) sysdie("vasprintf(\"%s\",...) failed", fmt);
return str;
}
-char *xasprintf(const char *fmt, ...) {
+char *masprintf(const char *fmt, ...) {
VA;
- char *str= xvasprintf(fmt,al);
+ char *str= mvasprintf(fmt,al);
va_end(al);
return str;
}
*fd=0;
}
-pid_t xfork(const char *what) {
- pid_t child;
-
- child= fork();
+pid_t xfork_bare(const char *what) {
+ pid_t child= fork();
if (child==-1) sysdie("cannot fork for %s",what);
dbg("forked %s %ld", what, (unsigned long)child);
+ return child;
+}
+
+pid_t xfork(const char *what) {
+ pid_t child= xfork_bare(what);
if (!child) postfork();
return child;
}