From 82f7f9ee1849947ed6de227279e623d8fc3a1ee1 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Thu, 24 Feb 2022 15:56:08 -0500 Subject: regex: Rework error handling --- util.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'util.c') diff --git a/util.c b/util.c index 1b363cd..21921e8 100644 --- a/util.c +++ b/util.c @@ -263,15 +263,14 @@ static int xrpregex(nl_item item, const char *response) { return -1; } - int err; - struct bfs_regex *regex = bfs_regcomp(pattern, BFS_REGEX_POSIX_EXTENDED, 0, &err); - if (!regex) { - return -1; + struct bfs_regex *regex; + int ret = bfs_regcomp(®ex, pattern, BFS_REGEX_POSIX_EXTENDED, 0); + if (ret == 0) { + ret = bfs_regexec(regex, response, 0); } - int ret = bfs_regexec(regex, response, 0, &err); bfs_regfree(regex); - return err ? -1 : ret; + return ret; } /** Check if a response is affirmative or negative. */ -- cgit v1.2.3