]> git.cworth.org Git - apitrace/blobdiff - common/os_win32.cpp
Add a path manipulating class.
[apitrace] / common / os_win32.cpp
index 27b8c0ac3f0f78df243020193f08a20409f910ac..66c823263ca9e6dcc44ed640e47562af8f21a395 100644 (file)
@@ -58,26 +58,20 @@ releaseMutex(void)
 }
 
 
-bool
-getProcessName(char *str, size_t size)
+Path
+getProcessName(void)
 {
-    char szProcessPath[PATH_MAX];
-    char *lpProcessName;
-    char *lpProcessExt;
-
-    GetModuleFileNameA(NULL, szProcessPath, sizeof(szProcessPath)/sizeof(szProcessPath[0]));
+    Path path;
 
-    lpProcessName = strrchr(szProcessPath, '\\');
-    lpProcessName = lpProcessName ? lpProcessName + 1 : szProcessPath;
+    char *szProcessPath = path.buf(PATH_MAX);
 
-    lpProcessExt = strrchr(lpProcessName, '.');
-    if (lpProcessExt) {
-        *lpProcessExt = '\0';
-    }
+    DWORD nWritten = GetModuleFileNameA(NULL, szProcessPath, PATH_MAX);
 
-    strncpy(str, lpProcessName, size);
+    path.truncate();
+    path.trimExtension();
+    path.trimDirectory();
 
-    return true;
+    return path;
 }
 
 bool