[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