mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
54 lines
699 B
C
54 lines
699 B
C
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||
|
|
||
|
#ifndef XALLOC_H
|
||
|
#define XALLOC_H
|
||
|
|
||
|
#include <stdlib.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
static inline void *xmalloc(size_t size)
|
||
|
{
|
||
|
void *p = malloc(size);
|
||
|
|
||
|
if (!p)
|
||
|
exit(1);
|
||
|
return p;
|
||
|
}
|
||
|
|
||
|
static inline void *xcalloc(size_t nmemb, size_t size)
|
||
|
{
|
||
|
void *p = calloc(nmemb, size);
|
||
|
|
||
|
if (!p)
|
||
|
exit(1);
|
||
|
return p;
|
||
|
}
|
||
|
|
||
|
static inline void *xrealloc(void *p, size_t size)
|
||
|
{
|
||
|
p = realloc(p, size);
|
||
|
if (!p)
|
||
|
exit(1);
|
||
|
return p;
|
||
|
}
|
||
|
|
||
|
static inline char *xstrdup(const char *s)
|
||
|
{
|
||
|
char *p = strdup(s);
|
||
|
|
||
|
if (!p)
|
||
|
exit(1);
|
||
|
return p;
|
||
|
}
|
||
|
|
||
|
static inline char *xstrndup(const char *s, size_t n)
|
||
|
{
|
||
|
char *p = strndup(s, n);
|
||
|
|
||
|
if (!p)
|
||
|
exit(1);
|
||
|
return p;
|
||
|
}
|
||
|
|
||
|
#endif /* XALLOC_H */
|