Commit 5b058034 authored by Masahiro Yamada's avatar Masahiro Yamada

kconfig: change file_lookup() to return the file name

Currently, file_lookup() returns a pointer to (struct file), but the
callers use only file->name.

Make it return the ->name member directly.

This adjustment encapsulates struct file and file_list as internal
implementation.
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent 6676c5bc
......@@ -17,11 +17,6 @@ extern "C" {
#include <stdbool.h>
#endif
struct file {
struct file *next;
char name[];
};
typedef enum tristate {
no, mod, yes
} tristate;
......@@ -275,8 +270,6 @@ struct jump_key {
struct menu *target;
};
extern struct file *file_list;
extern struct symbol symbol_yes, symbol_no, symbol_mod;
extern struct symbol *modules_sym;
extern int cdebug;
......
......@@ -401,13 +401,12 @@ void zconf_initscan(const char *name)
exit(1);
}
cur_filename = file_lookup(name)->name;
cur_filename = file_lookup(name);
yylineno = 1;
}
void zconf_nextfile(const char *name)
{
struct file *file = file_lookup(name);
struct buffer *buf = xmalloc(sizeof(*buf));
bool recur_include = false;
......@@ -443,7 +442,7 @@ void zconf_nextfile(const char *name)
}
yylineno = 1;
cur_filename = file->name;
cur_filename = file_lookup(name);
}
static void zconf_endfile(void)
......
......@@ -52,7 +52,7 @@ static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out)
}
/* util.c */
struct file *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);
......
......@@ -16,8 +16,6 @@ static const char nohelp_text[] = "There is no help available for this option.";
struct menu rootmenu;
static struct menu **last_entry_ptr;
struct file *file_list;
void menu_warn(struct menu *menu, const char *fmt, ...)
{
va_list ap;
......
......@@ -9,15 +9,22 @@
#include <string.h>
#include "lkc.h"
struct file {
struct file *next;
char name[];
};
static struct file *file_list;
/* file already present in list? If not add it */
struct file *file_lookup(const char *name)
const char *file_lookup(const char *name)
{
struct file *file;
size_t len;
for (file = file_list; file; file = file->next) {
if (!strcmp(name, file->name)) {
return file;
return file->name;
}
}
......@@ -31,7 +38,7 @@ struct file *file_lookup(const char *name)
str_printf(&autoconf_cmd, "\t%s \\\n", name);
return file;
return file->name;
}
/* Allocate initial growable string */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment