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.geo...@secunet.com>
Acked-by: Stefan Reinauer <stefan.reina...@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 */

-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to