xref: /aosp_15_r20/external/coreboot/util/nvramtool/reg_expr.c (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <stdarg.h>
4 #include "common.h"
5 #include "reg_expr.h"
6 
7 /****************************************************************************
8  * compile_reg_expr
9  *
10  * Compile a regular expression.
11  ****************************************************************************/
compile_reg_expr(int cflags,const char * expr,regex_t * reg)12 void compile_reg_expr(int cflags, const char *expr, regex_t *reg)
13 {
14 	static const size_t ERROR_BUF_SIZE = 256;
15 	char error_msg[ERROR_BUF_SIZE];
16 	int result;
17 
18 	if ((result = regcomp(reg, expr, cflags)) != 0) {
19 		regerror(result, reg, error_msg, ERROR_BUF_SIZE);
20 		fprintf(stderr, "%s: %s\n", prog_name, error_msg);
21 		exit(1);
22 	}
23 }
24