From 5494d417c03b862a6115a133051bbe41b57b0963 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 1 Nov 2021 11:28:17 +0100 Subject: [DEBUG] Don't overwrite trace if %pid is used --- src/main.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/main.c b/src/main.c index ec50a1e3..7cb84b43 100755 --- a/src/main.c +++ b/src/main.c @@ -93,14 +93,21 @@ void openFTrace() char tmp[500]; char* p = t; if(p && strstr(t, "%pid")) { - strcpy(tmp, p); - char* c = strstr(tmp, "%pid"); - *c = 0; // cut - char pid[10]; - sprintf(pid, "%d", getpid()); - strcat(tmp, pid); - c = strstr(p, "%pid") + strlen("%pid"); - strcat(tmp, c); + int next = 0; + do { + strcpy(tmp, p); + char* c = strstr(tmp, "%pid"); + *c = 0; // cut + char pid[16]; + if(next) + sprintf(pid, "%d-%d", getpid(), next); + else + sprintf(pid, "%d", getpid()); + strcat(tmp, pid); + c = strstr(p, "%pid") + strlen("%pid"); + strcat(tmp, c); + ++next; + } while (FileExist(tmp, IS_FILE)); p = tmp; ftrace_has_pid = 1; } -- cgit 1.4.1