Author: oxygene Date: Fri Jan 28 08:40:08 2011 New Revision: 6308 URL: https://tracker.coreboot.org/trac/coreboot/changeset/6308
Log: 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
Modified: trunk/util/nvramtool/input_file.c trunk/util/nvramtool/layout_file.c trunk/util/nvramtool/reg_expr.c trunk/util/nvramtool/reg_expr.h
Modified: trunk/util/nvramtool/input_file.c ============================================================================== --- trunk/util/nvramtool/input_file.c Fri Jan 28 02:06:39 2011 (r6307) +++ trunk/util/nvramtool/input_file.c Fri Jan 28 08:40:08 2011 (r6308) @@ -88,8 +88,8 @@ 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 @@ p = &item->next; }
- free_reg_exprs(2, &blank_or_comment, &assignment); + regfree(&blank_or_comment); + regfree(&assignment); return list; }
Modified: trunk/util/nvramtool/layout_file.c ============================================================================== --- trunk/util/nvramtool/layout_file.c Fri Jan 28 02:06:39 2011 (r6307) +++ trunk/util/nvramtool/layout_file.c Fri Jan 28 08:40:08 2011 (r6308) @@ -262,14 +262,13 @@ ****************************************************************************/ 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 @@ */ 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); }
/****************************************************************************
Modified: trunk/util/nvramtool/reg_expr.c ============================================================================== --- trunk/util/nvramtool/reg_expr.c Fri Jan 28 02:06:39 2011 (r6307) +++ trunk/util/nvramtool/reg_expr.c Fri Jan 28 08:40:08 2011 (r6308) @@ -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); -}
Modified: trunk/util/nvramtool/reg_expr.h ============================================================================== --- trunk/util/nvramtool/reg_expr.h Fri Jan 28 02:06:39 2011 (r6307) +++ trunk/util/nvramtool/reg_expr.h Fri Jan 28 08:40:08 2011 (r6308) @@ -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 */