[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