at v6.13 699 B view raw
1/* SPDX-License-Identifier: GPL-2.0-only */ 2 3#ifndef XALLOC_H 4#define XALLOC_H 5 6#include <stdlib.h> 7#include <string.h> 8 9static inline void *xmalloc(size_t size) 10{ 11 void *p = malloc(size); 12 13 if (!p) 14 exit(1); 15 return p; 16} 17 18static inline void *xcalloc(size_t nmemb, size_t size) 19{ 20 void *p = calloc(nmemb, size); 21 22 if (!p) 23 exit(1); 24 return p; 25} 26 27static inline void *xrealloc(void *p, size_t size) 28{ 29 p = realloc(p, size); 30 if (!p) 31 exit(1); 32 return p; 33} 34 35static inline char *xstrdup(const char *s) 36{ 37 char *p = strdup(s); 38 39 if (!p) 40 exit(1); 41 return p; 42} 43 44static inline char *xstrndup(const char *s, size_t n) 45{ 46 char *p = strndup(s, n); 47 48 if (!p) 49 exit(1); 50 return p; 51} 52 53#endif /* XALLOC_H */