diff options
author | Patrick Georgi <patrick.georgi@secunet.com> | 2011-01-28 07:40:08 +0000 |
---|---|---|
committer | Patrick Georgi <patrick.georgi@coresystems.de> | 2011-01-28 07:40:08 +0000 |
commit | bf64985e3b2d4edb59914042830da64d5354dcfb (patch) | |
tree | 127ec30643352ea79be80d1b7f176166ae005625 /util/nvramtool | |
parent | 1c2734f5b67f08f8b440ca29b74831e05e4206bb (diff) | |
download | coreboot-bf64985e3b2d4edb59914042830da64d5354dcfb.tar.xz |
No need to add varargs magic to a simple regex wrapper.
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Acked-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6308 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/nvramtool')
-rw-r--r-- | util/nvramtool/input_file.c | 7 | ||||
-rw-r--r-- | util/nvramtool/layout_file.c | 26 | ||||
-rw-r--r-- | util/nvramtool/reg_expr.c | 46 | ||||
-rw-r--r-- | util/nvramtool/reg_expr.h | 4 |
4 files changed, 27 insertions, 56 deletions
diff --git a/util/nvramtool/input_file.c b/util/nvramtool/input_file.c index 38214d90c0..1520930175 100644 --- a/util/nvramtool/input_file.c +++ b/util/nvramtool/input_file.c @@ -88,8 +88,8 @@ cmos_write_t *process_input_file(FILE * f) list = NULL; p = &list; - compile_reg_exprs(REG_EXTENDED | REG_NEWLINE, 2, blank_or_comment_regex, - &blank_or_comment, assignment_regex, &assignment); + compile_reg_expr(REG_EXTENDED | REG_NEWLINE, blank_or_comment_regex, &blank_or_comment); + compile_reg_expr(REG_EXTENDED | REG_NEWLINE, assignment_regex, &assignment); /* each iteration processes one line from input file */ for (line_num = 1; get_input_file_line(f, line, LINE_BUF_SIZE) == OK; line_num++) { /* skip comments and blank lines */ @@ -142,7 +142,8 @@ cmos_write_t *process_input_file(FILE * f) p = &item->next; } - free_reg_exprs(2, &blank_or_comment, &assignment); + regfree(&blank_or_comment); + regfree(&assignment); return list; } diff --git a/util/nvramtool/layout_file.c b/util/nvramtool/layout_file.c index 51b332ca0e..535554f704 100644 --- a/util/nvramtool/layout_file.c +++ b/util/nvramtool/layout_file.c @@ -262,14 +262,13 @@ void write_cmos_layout(FILE * f) ****************************************************************************/ static void process_layout_file(FILE * f) { - compile_reg_exprs(REG_EXTENDED | REG_NEWLINE, 7, - blank_or_comment_regex, &blank_or_comment_expr, - start_entries_regex, &start_entries_expr, - entries_line_regex, &entries_line_expr, - start_enums_regex, &start_enums_expr, - enums_line_regex, &enums_line_expr, - start_checksums_regex, &start_checksums_expr, - checksum_line_regex, &checksum_line_expr); + compile_reg_expr(REG_EXTENDED | REG_NEWLINE, blank_or_comment_regex, &blank_or_comment_expr); + compile_reg_expr(REG_EXTENDED | REG_NEWLINE, start_entries_regex, &start_entries_expr); + compile_reg_expr(REG_EXTENDED | REG_NEWLINE, entries_line_regex, &entries_line_expr); + compile_reg_expr(REG_EXTENDED | REG_NEWLINE, start_enums_regex, &start_enums_expr); + compile_reg_expr(REG_EXTENDED | REG_NEWLINE, enums_line_regex, &enums_line_expr); + compile_reg_expr(REG_EXTENDED | REG_NEWLINE, start_checksums_regex, &start_checksums_expr); + compile_reg_expr(REG_EXTENDED | REG_NEWLINE, checksum_line_regex, &checksum_line_expr); line_num = 1; skip_past_start(f); @@ -322,10 +321,13 @@ static void process_layout_file(FILE * f) */ skip_remaining_lines(f); - free_reg_exprs(7, &blank_or_comment_expr, &start_entries_expr, - &entries_line_expr, &start_enums_expr, - &enums_line_expr, &start_checksums_expr, - &checksum_line_expr); + regfree(&blank_or_comment_expr); + regfree(&start_entries_expr); + regfree(&entries_line_expr); + regfree(&start_enums_expr); + regfree(&enums_line_expr); + regfree(&start_checksums_expr); + regfree(&checksum_line_expr); } /**************************************************************************** diff --git a/util/nvramtool/reg_expr.c b/util/nvramtool/reg_expr.c index e737504d90..7d1adbe0a1 100644 --- a/util/nvramtool/reg_expr.c +++ b/util/nvramtool/reg_expr.c @@ -33,50 +33,20 @@ #include "reg_expr.h" /**************************************************************************** - * compile_reg_exprs + * compile_reg_expr * - * Compile a bunch of regular expressions. + * Compile a regular expression. ****************************************************************************/ -void compile_reg_exprs(int cflags, int num_exprs, - /* const char *expr1, regex_t *reg1, */ ...) +void compile_reg_expr(int cflags, const char *expr, regex_t *reg) { static const size_t ERROR_BUF_SIZE = 256; char error_msg[ERROR_BUF_SIZE]; - va_list ap; - regex_t *reg; - const char *expr; - int i, result; + int result; - va_start(ap, num_exprs); - - for (i = 0; i < num_exprs; i++) { - expr = va_arg(ap, const char *); - reg = va_arg(ap, regex_t *); - - if ((result = regcomp(reg, expr, cflags)) != 0) { - regerror(result, reg, error_msg, ERROR_BUF_SIZE); - fprintf(stderr, "%s: %s\n", prog_name, error_msg); - exit(1); - } + if ((result = regcomp(reg, expr, cflags)) != 0) { + regerror(result, reg, error_msg, ERROR_BUF_SIZE); + fprintf(stderr, "%s: %s\n", prog_name, error_msg); + exit(1); } - - va_end(ap); } -/**************************************************************************** - * free_reg_exprs - * - * Destroy a bunch of previously compiled regular expressions. - ****************************************************************************/ -void free_reg_exprs(int num_exprs, /* regex_t *reg1, */ ...) -{ - va_list ap; - int i; - - va_start(ap, num_exprs); - - for (i = 0; i < num_exprs; i++) - regfree(va_arg(ap, regex_t *)); - - va_end(ap); -} diff --git a/util/nvramtool/reg_expr.h b/util/nvramtool/reg_expr.h index 1b1657fa43..c93215b782 100644 --- a/util/nvramtool/reg_expr.h +++ b/util/nvramtool/reg_expr.h @@ -34,8 +34,6 @@ #include <regex.h> #include "common.h" -void compile_reg_exprs(int cflags, int num_exprs, - /* const char *expr1, regex_t *reg1, */ ...); -void free_reg_exprs(int num_exprs, /* regex_t *reg1, */ ...); +void compile_reg_expr(int cflags, const char *expr, regex_t *reg); #endif /* REG_EXPR_H */ |