This patch adds get_process_name for Windows based on
GetModuleFileName.
Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
return 0;
}
+#elif defined(_WIN32)
+
+int get_process_name(char *buf, int len)
+{
+ if (len <= 0) {
+ return -EINVAL;
+ }
+
+ int length = GetModuleFileNameA(nullptr, buf, len);
+ if (length <= 0)
+ return -ENOSYS;
+
+ char* start = strrchr(buf, '\\');
+ if (!start)
+ return -ENOSYS;
+ start++;
+ char* end = strstr(start, ".exe");
+ if (!end)
+ return -ENOSYS;
+
+ memmove(buf, start, end - start);
+ buf[end - start] = '\0';
+ return 0;
+}
+
#else
int get_process_name(char *buf, int len)