aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/stdlib/stacktrace.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/stdlib/stacktrace.c b/src/stdlib/stacktrace.c
index b3ad04bb..bcec6b0a 100644
--- a/src/stdlib/stacktrace.c
+++ b/src/stdlib/stacktrace.c
@@ -68,10 +68,8 @@ static void _print_stack_frame(FILE *out, const char *cwd, const char *install_d
char *function_display = GC_MALLOC_ATOMIC(strlen(function));
memcpy(function_display, function, strlen(function)+1);
- function_display += strcspn(function_display, "$");
- function_display += strspn(function_display, "$");
- function_display += strcspn(function_display, "$");
- function_display += strspn(function_display, "$");
+ char *last_dollar = strrchr(function_display, '$');
+ if (last_dollar) *last_dollar = '\0';
for (char *p = function_display; *p; p++) {
if (*p == '$') *p = '.';
}