[PATCH i-g-t 1/5] runner/settings: Deduplicate cleanup

Lucas De Marchi lucas.demarchi at intel.com
Fri Jan 17 23:17:42 UTC 2025


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

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 92fd42ea6..80d95be5b 100644
--- a/runner/settings.c
+++ b/runner/settings.c
@@ -1154,13 +1154,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;
@@ -1195,6 +1192,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.0



More information about the igt-dev mailing list