FreeRDP/winpr/libwinpr/path/test/TestPathShell.c
Armin Novak 7305828122 Fix #4239: Various memory leaks
* Fixed all tests, now can be run with -DWITH_ADDRESS_SANITIZER=ON compiled.
* Enabled address sanitizer for nightly builds.
2017-12-12 11:40:48 +01:00

60 lines
1.0 KiB
C

#include <stdio.h>
#include <winpr/crt.h>
#include <winpr/path.h>
#include <winpr/tchar.h>
#include <winpr/winpr.h>
int TestPathShell(int argc, char* argv[])
{
const int paths[] =
{
KNOWN_PATH_HOME,
KNOWN_PATH_TEMP,
KNOWN_PATH_XDG_DATA_HOME,
KNOWN_PATH_XDG_CONFIG_HOME,
KNOWN_PATH_XDG_CACHE_HOME,
KNOWN_PATH_XDG_RUNTIME_DIR,
KNOWN_PATH_XDG_CONFIG_HOME
};
const char* names[] =
{
"KNOWN_PATH_HOME",
"KNOWN_PATH_TEMP",
"KNOWN_PATH_XDG_DATA_HOME",
"KNOWN_PATH_XDG_CONFIG_HOME",
"KNOWN_PATH_XDG_CACHE_HOME",
"KNOWN_PATH_XDG_RUNTIME_DIR",
"KNOWN_PATH_XDG_CONFIG_HOME"
};
int rc = 0;
size_t x;
for (x = 0; x < sizeof(paths) / sizeof(paths[0]); x++)
{
const int id = paths[x];
const char* name = names[x];
{
char* path = GetKnownPath(id);
if (!path)
rc = -1;
printf("%s Path: %s\n", name, path);
free(path);
}
{
char* path = GetKnownSubPath(id, "freerdp");
if (!path)
rc = -1;
printf("%s SubPath: %s\n", name, path);
free(path);
}
}
return rc;
}