[LTP] [PATCH 2/2] metaparse: Map arrays with designated initializers to JSON objects
Cyril Hrubis
chrubis@suse.cz
Fri Jul 11 13:33:04 CEST 2025
Hi!
> This patch is actually causing documentation build failure due to the
> way we are defining .hugepages as:
>
> .hugepages = {TST_NO_HUGEPAGES},
>
> The shmget02 metadata (for instance) will have an empty hugepages
> dictionary:
Ah, right, I've missed a special case in the C structure parsing.
This on the top of the patchset fixes the problem:
diff --git a/metadata/metaparse.c b/metadata/metaparse.c
index e9e9aee10..36736ac06 100644
--- a/metadata/metaparse.c
+++ b/metadata/metaparse.c
@@ -379,13 +379,17 @@ static int array_is_hash(FILE *f)
long pos = ftell(f);
int has_ids = 1;
int elem_seen = 0;
+ int comma_last = 0;
int in_id = 1;
char *token;
while ((token = next_token(f, NULL))) {
- if (!strcmp(token, "}"))
+ if (!strcmp(token, "}")) {
+ if (in_id && !comma_last)
+ has_ids = 0;
goto ret;
+ }
elem_seen = 1;
@@ -419,8 +423,12 @@ static int array_is_hash(FILE *f)
}
in_id = 1;
+
+ comma_last = 1;
} else if (!strcmp(token, "=")) {
in_id = 0;
+ } else {
+ comma_last = 0;
}
}
I will send a new version.
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list