[CI i-g-t 03/10] runner/settings: Deduplicate cleanup

Lucas De Marchi lucas.demarchi at intel.com
Fri Feb 7 23:09:37 UTC 2025


Deduplicate cleanup so it's also easy to parse the line in a different
way.

Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com>
Tested-by: Peter Senna Tschudin <peter.senna at linux.intel.com>
Reviewed-by: Peter Senna Tschudin <peter.senna at linux.intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
---
 runner/settings.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/runner/settings.c b/runner/settings.c
index afb312dc1..89df4990e 100644
--- a/runner/settings.c
+++ b/runner/settings.c
@@ -1155,13 +1155,10 @@ bool serialize_settings(struct settings *settings)
 
 bool read_settings_from_file(struct settings *settings, FILE *f)
 {
-#define PARSE_LINE(s, name, val, field, write) \
-	if (!strcmp(name, #field)) {	       \
-		s->field = write;	       \
-		free(name);		       \
-		free(val);		       \
-		name = val = NULL;	       \
-		continue;		       \
+#define PARSE_LINE(s, name, val, field, write)	\
+	if (!strcmp(name, #field)) {		\
+		s->field = write;		\
+		goto cleanup;			\
 	}
 
 	char *name = NULL, *val = NULL;
@@ -1196,6 +1193,8 @@ bool read_settings_from_file(struct settings *settings, FILE *f)
 
 		printf("Warning: Unknown field in settings file: %s = %s\n",
 		       name, val);
+
+cleanup:
 		free(name);
 		free(val);
 		name = val = NULL;
-- 
2.48.1



More information about the igt-dev mailing list