kbuild: split x*alloc() functions in kconfig to scripts/include/xalloc.h

These functions will be useful for other host programs.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
Masahiro Yamada 2024-08-12 21:48:50 +09:00
parent 96490176f1
commit a9d83d7478
14 changed files with 65 additions and 54 deletions

53
scripts/include/xalloc.h Normal file
View File

@ -0,0 +1,53 @@
/* 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 */

View File

@ -18,6 +18,7 @@
#include <time.h> #include <time.h>
#include <unistd.h> #include <unistd.h>
#include <xalloc.h>
#include "internal.h" #include "internal.h"
#include "lkc.h" #include "lkc.h"

View File

@ -9,6 +9,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <xalloc.h>
#include "lkc.h" #include "lkc.h"
#define DEBUG_EXPR 0 #define DEBUG_EXPR 0

View File

@ -13,6 +13,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <xalloc.h>
#include "lkc.h" #include "lkc.h"
#include "preprocess.h" #include "preprocess.h"

View File

@ -53,11 +53,6 @@ static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out)
/* util.c */ /* util.c */
unsigned int strhash(const char *s); unsigned int strhash(const char *s);
const char *file_lookup(const char *name); const char *file_lookup(const char *name);
void *xmalloc(size_t size);
void *xcalloc(size_t nmemb, size_t size);
void *xrealloc(void *p, size_t size);
char *xstrdup(const char *s);
char *xstrndup(const char *s, size_t n);
/* lexer.l */ /* lexer.l */
int yylex(void); int yylex(void);

View File

@ -20,6 +20,7 @@
#include <unistd.h> #include <unistd.h>
#include <list.h> #include <list.h>
#include <xalloc.h>
#include "lkc.h" #include "lkc.h"
#include "lxdialog/dialog.h" #include "lxdialog/dialog.h"
#include "mnconf-common.h" #include "mnconf-common.h"

View File

@ -9,6 +9,7 @@
#include <string.h> #include <string.h>
#include <list.h> #include <list.h>
#include <xalloc.h>
#include "lkc.h" #include "lkc.h"
#include "internal.h" #include "internal.h"

View File

@ -12,6 +12,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <list.h> #include <list.h>
#include <xalloc.h>
#include "lkc.h" #include "lkc.h"
#include "mnconf-common.h" #include "mnconf-common.h"
#include "nconf.h" #include "nconf.h"

View File

@ -4,6 +4,7 @@
* *
* Derived from menuconfig. * Derived from menuconfig.
*/ */
#include <xalloc.h>
#include "nconf.h" #include "nconf.h"
#include "lkc.h" #include "lkc.h"

View File

@ -11,6 +11,7 @@
#include <string.h> #include <string.h>
#include <stdbool.h> #include <stdbool.h>
#include <xalloc.h>
#include "lkc.h" #include "lkc.h"
#include "internal.h" #include "internal.h"
#include "preprocess.h" #include "preprocess.h"

View File

@ -11,6 +11,7 @@
#include <array_size.h> #include <array_size.h>
#include <list.h> #include <list.h>
#include <xalloc.h>
#include "internal.h" #include "internal.h"
#include "lkc.h" #include "lkc.h"
#include "preprocess.h" #include "preprocess.h"

View File

@ -22,6 +22,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <xalloc.h>
#include "lkc.h" #include "lkc.h"
#include "qconf.h" #include "qconf.h"

View File

@ -9,6 +9,7 @@
#include <string.h> #include <string.h>
#include <regex.h> #include <regex.h>
#include <xalloc.h>
#include "internal.h" #include "internal.h"
#include "lkc.h" #include "lkc.h"

View File

@ -9,6 +9,7 @@
#include <string.h> #include <string.h>
#include <hashtable.h> #include <hashtable.h>
#include <xalloc.h>
#include "lkc.h" #include "lkc.h"
unsigned int strhash(const char *s) unsigned int strhash(const char *s)
@ -102,52 +103,3 @@ char *str_get(const struct gstr *gs)
{ {
return gs->s; return gs->s;
} }
void *xmalloc(size_t size)
{
void *p = malloc(size);
if (p)
return p;
fprintf(stderr, "Out of memory.\n");
exit(1);
}
void *xcalloc(size_t nmemb, size_t size)
{
void *p = calloc(nmemb, size);
if (p)
return p;
fprintf(stderr, "Out of memory.\n");
exit(1);
}
void *xrealloc(void *p, size_t size)
{
p = realloc(p, size);
if (p)
return p;
fprintf(stderr, "Out of memory.\n");
exit(1);
}
char *xstrdup(const char *s)
{
char *p;
p = strdup(s);
if (p)
return p;
fprintf(stderr, "Out of memory.\n");
exit(1);
}
char *xstrndup(const char *s, size_t n)
{
char *p;
p = strndup(s, n);
if (p)
return p;
fprintf(stderr, "Out of memory.\n");
exit(1);
}