* userv - lib.c
* useful utility routines' imports and exports, used in daemon
*
- * Copyright (C)1996-1997 Ian Jackson
+ * Copyright (C)1996-1997,1999 Ian Jackson
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
#ifndef LIB_H
#define LIB_H
-char *xmstrcat3save(const char *a, const char *b, const char *c);
-char *xmstrsave(const char *s);
-char *xmstrsubsave(const char *begin, int len);
+char *xstrcat3save(const char *a, const char *b, const char *c);
+char *xstrsubsave(const char *begin, int len);
void miscerror(const char *what) NONRETURNING;
-void syscallerror(const char *what) NONRETURNING;
-void *xmalloc(size_t s);
-void *xrealloc(void *p, size_t s);
-char *xstrdup(const char *str);
-void makeroom(char **buffer, int *size, int needed);
+int makeroom(char **buffer, int *size, int needed);
+/* makeroom returns -1 if needed was far too large; otherwise returns 0. */
/* It doesn't appear to be documented whether [v]snprintf put a null
* in if they overrun. GNU libc does, but I don't want to rely on
void snytprintfcat(char *buffer, size_t size, const char *fmt, ...) PRINTFFORMAT(3,4);
void strnytcat(char *dest, const char *src, size_t size);
+#ifndef HAVE_SETENV
+int setenv(const char *name, const char *value, int overwrite);
+#endif /* HAVE_SETENV */
+
#endif /* LIB_H */