mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
updated for version 7.4.175
Problem: When a wide library function fails, falling back to the non-wide function may do the wrong thing. Solution: Check the platform, when the wide function is supported don't fall back to the non-wide function. (Ken Takata)
This commit is contained in:
@@ -648,7 +648,7 @@ vim_stat(const char *name, struct stat *stp)
|
|||||||
{
|
{
|
||||||
n = wstat_symlink_aware(wp, (struct _stat *)stp);
|
n = wstat_symlink_aware(wp, (struct _stat *)stp);
|
||||||
vim_free(wp);
|
vim_free(wp);
|
||||||
if (n >= 0)
|
if (n >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT)
|
||||||
return n;
|
return n;
|
||||||
/* Retry with non-wide function (for Windows 98). Can't use
|
/* Retry with non-wide function (for Windows 98). Can't use
|
||||||
* GetLastError() here and it's unclear what errno gets set to if
|
* GetLastError() here and it's unclear what errno gets set to if
|
||||||
@@ -815,8 +815,8 @@ mch_chdir(char *path)
|
|||||||
{
|
{
|
||||||
n = _wchdir(p);
|
n = _wchdir(p);
|
||||||
vim_free(p);
|
vim_free(p);
|
||||||
if (n == 0)
|
if (n == 0 || g_PlatformId == VER_PLATFORM_WIN32_NT)
|
||||||
return 0;
|
return n;
|
||||||
/* Retry with non-wide function (for Windows 98). */
|
/* Retry with non-wide function (for Windows 98). */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1942,7 +1942,6 @@ mch_resolve_shortcut(char_u *fname)
|
|||||||
|
|
||||||
shortcut_errorw:
|
shortcut_errorw:
|
||||||
vim_free(p);
|
vim_free(p);
|
||||||
if (hr == S_OK)
|
|
||||||
goto shortcut_end;
|
goto shortcut_end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2877,6 +2877,8 @@ mch_get_user_name(
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
|
||||||
|
return FAIL;
|
||||||
/* Retry with non-wide function (for Windows 98). */
|
/* Retry with non-wide function (for Windows 98). */
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -2917,6 +2919,8 @@ mch_get_host_name(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
|
||||||
|
return;
|
||||||
/* Retry with non-wide function (for Windows 98). */
|
/* Retry with non-wide function (for Windows 98). */
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -2966,6 +2970,8 @@ mch_dirname(
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
|
||||||
|
return FAIL;
|
||||||
/* Retry with non-wide function (for Windows 98). */
|
/* Retry with non-wide function (for Windows 98). */
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -3006,7 +3012,7 @@ mch_setperm(char_u *name, long perm)
|
|||||||
{
|
{
|
||||||
n = _wchmod(p, perm);
|
n = _wchmod(p, perm);
|
||||||
vim_free(p);
|
vim_free(p);
|
||||||
if (n == -1 && GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
|
if (n == -1 && g_PlatformId == VER_PLATFORM_WIN32_NT)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
/* Retry with non-wide function (for Windows 98). */
|
/* Retry with non-wide function (for Windows 98). */
|
||||||
}
|
}
|
||||||
@@ -6048,7 +6054,7 @@ mch_open(char *name, int flags, int mode)
|
|||||||
{
|
{
|
||||||
f = _wopen(wn, flags, mode);
|
f = _wopen(wn, flags, mode);
|
||||||
vim_free(wn);
|
vim_free(wn);
|
||||||
if (f >= 0)
|
if (f >= 0 || g_PlatformId == VER_PLATFORM_WIN32_NT)
|
||||||
return f;
|
return f;
|
||||||
/* Retry with non-wide function (for Windows 98). Can't use
|
/* Retry with non-wide function (for Windows 98). Can't use
|
||||||
* GetLastError() here and it's unclear what errno gets set to if
|
* GetLastError() here and it's unclear what errno gets set to if
|
||||||
@@ -6099,7 +6105,7 @@ mch_fopen(char *name, char *mode)
|
|||||||
_set_fmode(oldMode);
|
_set_fmode(oldMode);
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
if (f != NULL)
|
if (f != NULL || g_PlatformId == VER_PLATFORM_WIN32_NT)
|
||||||
return f;
|
return f;
|
||||||
/* Retry with non-wide function (for Windows 98). Can't use
|
/* Retry with non-wide function (for Windows 98). Can't use
|
||||||
* GetLastError() here and it's unclear what errno gets set to if
|
* GetLastError() here and it's unclear what errno gets set to if
|
||||||
|
@@ -738,6 +738,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
175,
|
||||||
/**/
|
/**/
|
||||||
174,
|
174,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user