char *ptr, *path_copy, *free_path;
char *tok = NULL;
int ptr_length;
+#ifdef TSRM_WIN32
+ int is_unc = 0;
+#endif
no_realpath:
state->cwd[1] = '\0';
state->cwd_length = 1;
path_copy += 2;
+ is_unc = 2;
} else {
#endif
state->cwd = (char *) realloc(state->cwd, 1);
ptr_length = length;
FindClose(hFind);
} else if (use_realpath == CWD_REALPATH) {
- free(free_path);
- CWD_STATE_FREE(state);
- *state = old_state;
- return 1;
+ if (is_unc) {
+ is_unc--;
+ } else {
+ free(free_path);
+ CWD_STATE_FREE(state);
+ *state = old_state;
+ return 1;
+ }
}
}
#endif