char *new_path;
int new_path_length;
- new_path_length = GetFullPathName(path, 0, 0, &dummy) + 1;
+ new_path_length = GetLongPathName(path, dummy, 0) + 1;
+ if (new_path_length == 0) {
+ return 1;
+ }
new_path = (char *) malloc(new_path_length);
if (!new_path) {
return 1;
}
- GetFullPathName(path, new_path_length, new_path, &dummy);
- free(path);
+ if (GetLongPathName(path, new_path, new_path_length) == 0) {
+ free(new_path);
+ return 1;
+ }
path = new_path;
path_length = new_path_length;
}