static void FreeDirectories() { systemPath->~OsPath(); wutil_Free(systemPath); executablePath->~OsPath(); wutil_Free(executablePath); localAppdataPath->~OsPath(); wutil_Free(localAppdataPath); roamingAppdataPath->~OsPath(); wutil_Free(roamingAppdataPath); personalPath->~OsPath(); wutil_Free(personalPath); }
int pthread_mutex_destroy(pthread_mutex_t* m) { CRITICAL_SECTION* cs = CRITICAL_SECTION_from_pthread_mutex_t(m); if(!cs) return -1; DeleteCriticalSection(cs); wutil_Free(cs); *m = 0; // cause double-frees to be noticed return 0; }