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