Hi Ahmad, On 5/15/24 11:14, Ahmad Fatoum wrote: > On 15.05.24 10:32, Michael Riesch wrote: >> Hi all, >> >> On 5/15/24 10:00, Michael Riesch wrote: >>> If the char **overlays parameter to wolfvision_rk3568_detect_hw is NULL, >>> the overlay file names are not collected. >>> >>> If overlays points to a NULL pointer, it is initialized properly with >>> an empty string. This is convenient as the call to >>> globalvar_set("of.overlay.filepattern", my_resulting_string); >>> that usually follows actually resets the global filepattern variable >>> from its default "*" to "". Thereby, a paradoxical situation in which no >>> extensions are detected but all available overlays are applied (due to "*") >>> is avoided. >>> >>> Nevertheless, it is still possible to pass an existing string to this >>> method and let the method append overlay file names. >>> >>> Signed-off-by: Michael Riesch <michael.riesch@xxxxxxxxxxxxxx> >>> --- >>> common/boards/wolfvision/common.c | 5 ++++- >>> 1 file changed, 4 insertions(+), 1 deletion(-) >>> >>> diff --git a/common/boards/wolfvision/common.c b/common/boards/wolfvision/common.c >>> index f483918cec..6cb76250dd 100644 >>> --- a/common/boards/wolfvision/common.c >>> +++ b/common/boards/wolfvision/common.c >>> @@ -20,7 +20,7 @@ int wolfvision_apply_overlay(const struct wv_overlay *overlay, char **files) >>> { >>> int ret; >>> >>> - if (overlay->filename) { >>> + if (overlay->filename && files) { >>> if (*files) { >>> char *old = *files; >>> *files = basprintf("%s %s", old, overlay->filename); >>> @@ -115,6 +115,9 @@ int wolfvision_rk3568_detect_hw(const struct wv_rk3568_extension *extensions, >>> if (ret) >>> return ret; >>> >>> + if (overlays && !*overlays) >>> + *overlays = basprintf(""); >> >> Hm, apparently this gives a compiler warning "warning: zero-length >> gnu_printf format string [-Wformat-zero-length]". >> >> ... = basprintf("%s", ""); ??? > > xstrdup("") Well if you insist on a straight-forward elegant solution... :-) v2 coming up soon! Thanks and regards, Michael > >> >> Best regards, >> Michael >> >>> + >>> for (i = 0; i < num_extensions; i++) { >>> const struct wv_rk3568_extension *extension = &extensions[i]; >>> const struct wv_overlay *overlay; >>> >> >> >