diff options
author | nicm <nicm> | 2015-11-18 13:06:54 +0000 |
---|---|---|
committer | nicm <nicm> | 2015-11-18 13:06:54 +0000 |
commit | 64571368dc19219fc1ef9b6c20034ee143cbed0d (patch) | |
tree | df7ea5e4787df75f08ebe9a4969c5025715cee15 /xmalloc.h | |
parent | ca5e6bf5f2f11796bf2bdbe136ba534e46b2e86e (diff) | |
download | rtmux-64571368dc19219fc1ef9b6c20034ee143cbed0d.tar.gz rtmux-64571368dc19219fc1ef9b6c20034ee143cbed0d.tar.bz2 rtmux-64571368dc19219fc1ef9b6c20034ee143cbed0d.zip |
Sync the entire xmalloc.[ch] with the other users, but with the addition
of xrealloc, xvasprintf, xvsnprintf.
Diffstat (limited to 'xmalloc.h')
-rw-r--r-- | xmalloc.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/xmalloc.h b/xmalloc.h new file mode 100644 index 00000000..d331ce99 --- /dev/null +++ b/xmalloc.h @@ -0,0 +1,40 @@ +/* $OpenBSD$ */ + +/* + * Author: Tatu Ylonen <ylo@cs.hut.fi> + * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland + * All rights reserved + * Created: Mon Mar 20 22:09:17 1995 ylo + * + * Versions of malloc and friends that check their results, and never return + * failure (they call fatal if they encounter an error). + * + * As far as I am concerned, the code I have written for this software + * can be used freely for any purpose. Any derived versions of this + * software must be clearly marked as such, and if the derived work is + * incompatible with the protocol description in the RFC file, it must be + * called by a name other than "ssh" or "Secure Shell". + */ + +#ifndef XMALLOC_H +#define XMALLOC_H + +void *xmalloc(size_t); +void *xcalloc(size_t, size_t); +void *xrealloc(void *, size_t); +void *xreallocarray(void *, size_t, size_t); +char *xstrdup(const char *); +int xasprintf(char **, const char *, ...) + __attribute__((__format__ (printf, 2, 3))) + __attribute__((__nonnull__ (2))); +int xvasprintf(char **, const char *, va_list) + __attribute__((__nonnull__ (2))); +int xsnprintf(char *, size_t, const char *, ...) + __attribute__((__format__ (printf, 3, 4))) + __attribute__((__nonnull__ (3))) + __attribute__((__bounded__ (__string__, 1, 2))); +int xvsnprintf(char *, size_t, const char *, va_list) + __attribute__((__nonnull__ (3))) + __attribute__((__bounded__ (__string__, 1, 2))); + +#endif /* XMALLOC_H */ |