Replace the use of regcomp with GRegex. Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx> --- src/libxl/libxl_conf.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 920f228d6a..be7d85b264 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -22,7 +22,6 @@ #include <config.h> -#include <regex.h> #include <libxl.h> #include <sys/types.h> #include <sys/socket.h> @@ -1664,7 +1663,8 @@ static int libxlGetAutoballoonConf(libxlDriverConfigPtr cfg, virConfPtr conf) { - regex_t regex; + g_autoptr(GRegex) regex = NULL; + g_autoptr(GError) err = NULL; int res; res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon); @@ -1673,21 +1673,15 @@ libxlGetAutoballoonConf(libxlDriverConfigPtr cfg, else if (res == 1) return 0; - if ((res = regcomp(®ex, - "(^| )dom0_mem=((|min:|max:)[0-9]+[bBkKmMgG]?,?)+($| )", - REG_NOSUB | REG_EXTENDED)) != 0) { - char error[100]; - regerror(res, ®ex, error, sizeof(error)); + regex = g_regex_new("(^| )dom0_mem=((|min:|max:)[0-9]+[bBkKmMgG]?,?)+($| )", + 0, 0, &err); + if (!regex) { virReportError(VIR_ERR_INTERNAL_ERROR, - _("Failed to compile regex %s"), - error); - + _("Failed to compile regex %s"), err->message); return -1; } - res = regexec(®ex, cfg->verInfo->commandline, 0, NULL, 0); - regfree(®ex); - cfg->autoballoon = res == REG_NOMATCH; + cfg->autoballoon = !g_regex_match(regex, cfg->verInfo->commandline, 0, NULL); return 0; } -- 2.21.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list