* cygpath.cc (get_long_name): Fallback to get_long_path_name_w32impl.

This commit is contained in:
Corinna Vinschen 2006-07-31 07:31:56 +00:00
parent 4838aa88d9
commit acc31d1a90
2 changed files with 15 additions and 4 deletions

View File

@ -1,3 +1,7 @@
2006-07-30 Ilya Bobir <ilya@po4ta.com>
* cygpath.cc (get_long_name): Fallback to get_long_path_name_w32impl.
2006-07-27 Corinna Vinschen <corinna@vinschen.de> 2006-07-27 Corinna Vinschen <corinna@vinschen.de>
* cygpath.c (get_long_name): Cover the case that GetLongPathName * cygpath.c (get_long_name): Cover the case that GetLongPathName

View File

@ -241,15 +241,22 @@ get_long_name (const char *filename, DWORD& len)
len = GetLongPathName (filename, buf, MAX_PATH); len = GetLongPathName (filename, buf, MAX_PATH);
if (len == 0) if (len == 0)
{ {
if (GetLastError () == ERROR_INVALID_PARAMETER) DWORD err = GetLastError ();
if (err == ERROR_INVALID_PARAMETER)
{ {
fprintf (stderr, "%s: cannot create long name of %s\n", prog_name, fprintf (stderr, "%s: cannot create long name of %s\n", prog_name,
filename); filename);
exit (2); exit (2);
} }
buf[0] = '\0'; else if (err == ERROR_FILE_NOT_FOUND)
strncat (buf, filename, MAX_PATH - 1); len = get_long_path_name_w32impl (filename, buf, MAX_PATH);
len = strlen (buf); else
{
buf[0] = '\0';
strncat (buf, filename, MAX_PATH - 1);
len = strlen (buf);
}
} }
sbuf = (char *) malloc (len + 1); sbuf = (char *) malloc (len + 1);
if (!sbuf) if (!sbuf)