[coreboot] [commit] r6308 - trunk/util/nvramtool

repository service svn at coreboot.org
Fri Jan 28 08:40:08 CET 2011


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 at secunet.com>
Acked-by: Stefan Reinauer <stefan.reinauer at 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 */




More information about the coreboot mailing list