BOOL PathArray::SetPath(int idx, const void *path, int len) { if (len < 0) len = strlenV(path); pathArray[idx] = new PathObj(path, len); Register(pathArray[idx], MakeHashId(pathArray[idx])); return TRUE; }
BOOL PathArray::SetPath(int idx, const WCHAR *path, int len) { if (len < 0) len = (int)wcslen(path); pathArray[idx] = new PathObj(path, len); Register(pathArray[idx], MakeHashId(pathArray[idx])); return TRUE; }
BOOL PathArray::RegisterPath(const void *path) { if (!path || !GetChar(path, 0)) return FALSE; int len = strlenV(path); if ((flags & ALLOW_SAME) == 0 && Search(path, MakeHashId(path, len))) return FALSE; #define MAX_ALLOC 100 if ((num % MAX_ALLOC) == 0) { pathArray = (PathObj **)realloc(pathArray, (num + MAX_ALLOC) * sizeof(void *)); } SetPath(num++, path, len); return TRUE; }
BOOL PathArray::RegisterPath(const WCHAR *path) { if (!path || !path[0]) return FALSE; int len = (int)wcslen(path); if ((flags & ALLOW_SAME) == 0 && Search(path, MakeHashId(path, len))) return FALSE; #define MAX_ALLOC 100 if ((num % MAX_ALLOC) == 0) { pathArray = (PathObj **)realloc(pathArray, (num + MAX_ALLOC) * sizeof(WCHAR *)); } SetPath(num++, path, len); return TRUE; }