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: Masahiro Yamada <masahiroy@kernel.org>
---
scripts/kconfig/expr.h | 7 -------
scripts/kconfig/lexer.l | 5 ++---
scripts/kconfig/lkc.h | 2 +-
scripts/kconfig/menu.c | 2 --
scripts/kconfig/util.c | 13 ++++++++++---
5 files changed, 13 insertions(+), 16 deletions(-)
@@ -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 */