From d7c00869fb4dd2f9aa3ea1bede64827ca3bf7941 Mon Sep 17 00:00:00 2001 From: Antonio Orefice Date: Mon, 31 Mar 2025 18:19:18 +0200 Subject: [PATCH 1/2] FIX shader wildcards. All wildcards: Use strlen() because STRLEN_CONST cannot work on wildcard_tokens[i].token_name CORE and VID-DRV wildcards: correctly update _len --- gfx/video_shader_parse.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gfx/video_shader_parse.c b/gfx/video_shader_parse.c index 1309e9d34c..0a8cc3d85f 100644 --- a/gfx/video_shader_parse.c +++ b/gfx/video_shader_parse.c @@ -262,7 +262,8 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_ } break; case RARCH_WILDCARD_CORE: - strlcpy(replace_text, runloop_state_get_ptr()->system.info.library_name, sizeof(replace_text)); + _len = strlcpy(replace_text, runloop_state_get_ptr()->system.info.library_name, sizeof(replace_text)); + RARCH_DBG(" replace_text: \"%s\" \n", replace_text); break; case RARCH_WILDCARD_GAME: { @@ -276,7 +277,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_ } break; case RARCH_WILDCARD_VIDEO_DRIVER: - strlcpy(replace_text, config_get_ptr()->arrays.video_driver, sizeof(replace_text)); + _len = strlcpy(replace_text, config_get_ptr()->arrays.video_driver, sizeof(replace_text)); break; case RARCH_WILDCARD_CORE_REQUESTED_ROTATION: _len = strlcpy(replace_text, "CORE-REQ-ROT-", sizeof(replace_text)); @@ -412,7 +413,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_ char *replace_output = string_replace_substring(replaced_path, sizeof(replaced_path), wildcard_tokens[i].token_name, - STRLEN_CONST(wildcard_tokens[i].token_name), + strlen(wildcard_tokens[i].token_name), replace_text, _len); strlcpy(replaced_path, replace_output, sizeof(replaced_path)); From 97725bfac36260e2f87d4e154db458fa42df66ac Mon Sep 17 00:00:00 2001 From: Antonio Orefice Date: Mon, 31 Mar 2025 18:23:56 +0200 Subject: [PATCH 2/2] remove a debug message --- gfx/video_shader_parse.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gfx/video_shader_parse.c b/gfx/video_shader_parse.c index 0a8cc3d85f..c66d19f249 100644 --- a/gfx/video_shader_parse.c +++ b/gfx/video_shader_parse.c @@ -263,7 +263,6 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_ break; case RARCH_WILDCARD_CORE: _len = strlcpy(replace_text, runloop_state_get_ptr()->system.info.library_name, sizeof(replace_text)); - RARCH_DBG(" replace_text: \"%s\" \n", replace_text); break; case RARCH_WILDCARD_GAME: {