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

Peter Senna Tschudin peter.senna at linux.intel.com
Wed Jan 22 12:22:29 UTC 2025



On 22.01.2025 11:50, Gustavo Sousa wrote:
> 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>
Tested-by: Peter Senna Tschudin <peter.senna at linux.intel.com>
Reviewed-by: Peter Senna Tschudin <peter.senna at linux.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