[PATCH i-g-t v2 1/7] runner/settings: Deduplicate cleanup
Gustavo Sousa
gustavo.sousa at intel.com
Wed Jan 22 10:50:49 UTC 2025
Quoting Lucas De Marchi (2025-01-21 19:57:27-03:00)
>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>
Reviewed-by: Gustavo Sousa <gustavo.sousa 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