summaryrefslogtreecommitdiffstats
path: root/src/os_win32.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/os_win32.c')
-rw-r--r--src/os_win32.c134
1 files changed, 11 insertions, 123 deletions
diff --git a/src/os_win32.c b/src/os_win32.c
index b5a6ccebae..8966053b83 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -452,11 +452,7 @@ unescape_shellxquote(char_u *p, char_u *escaped)
{
if (*p == '^' && vim_strchr(escaped, p[1]) != NULL)
mch_memmove(p, p + 1, l--);
-#ifdef FEAT_MBYTE
n = (*mb_ptr2len)(p);
-#else
- n = 1;
-#endif
p += n;
l -= n;
}
@@ -1890,7 +1886,6 @@ mch_inchar(
{
int n = 1;
-#ifdef FEAT_MBYTE
if (ch2 == NUL)
{
int i;
@@ -1912,7 +1907,6 @@ mch_inchar(
}
}
else
-#endif
typeahead[typeaheadlen] = c;
if (ch2 != NUL)
{
@@ -1950,17 +1944,11 @@ mch_inchar(
if ((modifiers & MOD_MASK_ALT)
&& n == 1
&& (typeahead[typeaheadlen] & 0x80) == 0
-#ifdef FEAT_MBYTE
&& !enc_dbcs
-#endif
)
{
-#ifdef FEAT_MBYTE
n = (*mb_char2bytes)(typeahead[typeaheadlen] | 0x80,
typeahead + typeaheadlen);
-#else
- typeahead[typeaheadlen] |= 0x80;
-#endif
modifiers &= ~MOD_MASK_ALT;
}
@@ -2044,7 +2032,6 @@ executable_exists(char *name, char_u **path, int use_path)
return FALSE;
}
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR *p = enc_to_utf16((char_u *)name, NULL);
@@ -2073,7 +2060,6 @@ executable_exists(char *name, char_u **path, int use_path)
return TRUE;
}
}
-#endif
curpath = getenv("PATH");
newpath = (char*)alloc((unsigned)(STRLEN(curpath) + 3));
@@ -2768,7 +2754,6 @@ mch_check_win(
}
-#ifdef FEAT_MBYTE
/*
* fname_casew(): Wide version of fname_case(). Set the case of the file name,
* if it already exists. When "len" is > 0, also expand short to long
@@ -2878,7 +2863,6 @@ fname_casew(
wcscpy(name, szTrueName);
return OK;
}
-#endif
/*
* fname_case(): Set the case of the file name, if it already exists.
@@ -2906,7 +2890,6 @@ fname_case(
slash_adjust(name);
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR *p = enc_to_utf16(name, NULL);
@@ -2933,7 +2916,6 @@ fname_case(
}
return;
}
-#endif
/* If 'enc' is utf-8, flen can be larger than _MAX_PATH.
* So we should check this after calling wide function. */
@@ -2962,7 +2944,6 @@ fname_case(
porigPrev = porig;
while (*porig != NUL && *porig != psepc)
{
-#ifdef FEAT_MBYTE
int l;
if (enc_dbcs)
@@ -2972,7 +2953,6 @@ fname_case(
*ptrue++ = *porig++;
}
else
-#endif
*ptrue++ = *porig++;
}
*ptrue = NUL;
@@ -3044,7 +3024,6 @@ mch_get_user_name(
char szUserName[256 + 1]; /* UNLEN is 256 */
DWORD cch = sizeof szUserName;
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR wszUserName[256 + 1]; /* UNLEN is 256 */
@@ -3062,7 +3041,6 @@ mch_get_user_name(
}
}
}
-#endif
if (GetUserName(szUserName, &cch))
{
vim_strncpy(s, (char_u *)szUserName, len - 1);
@@ -3083,7 +3061,6 @@ mch_get_host_name(
{
DWORD cch = len;
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR wszHostName[256 + 1];
@@ -3101,7 +3078,6 @@ mch_get_host_name(
}
}
}
-#endif
if (!GetComputerName((LPSTR)s, &cch))
vim_strncpy(s, (char_u *)"PC (Win32 Vim)", len - 1);
}
@@ -3135,7 +3111,6 @@ mch_dirname(
* But the Win32s known bug list says that getcwd() doesn't work
* so use the Win32 system call instead. <Negri>
*/
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR wbuf[_MAX_PATH + 1];
@@ -3167,7 +3142,6 @@ mch_dirname(
}
return FAIL;
}
-#endif
if (GetCurrentDirectory(len, (LPSTR)buf) == 0)
return FAIL;
lfnlen = GetLongPathNameA((LPCSTR)buf, (LPSTR)abuf, _MAX_PATH);
@@ -3205,7 +3179,6 @@ mch_setperm(char_u *name, long perm)
{
long n = -1;
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR *p = enc_to_utf16(name, NULL);
@@ -3219,7 +3192,6 @@ mch_setperm(char_u *name, long perm)
}
}
if (n == -1)
-#endif
n = _chmod((const char *)name, perm);
if (n == -1)
return FAIL;
@@ -3290,7 +3262,6 @@ mch_isrealdir(char_u *name)
int
mch_mkdir(char_u *name)
{
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR *p;
@@ -3303,7 +3274,6 @@ mch_mkdir(char_u *name)
vim_free(p);
return retval;
}
-#endif
return _mkdir((const char *)name);
}
@@ -3314,7 +3284,6 @@ mch_mkdir(char_u *name)
int
mch_rmdir(char_u *name)
{
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR *p;
@@ -3327,7 +3296,6 @@ mch_rmdir(char_u *name)
vim_free(p);
return retval;
}
-#endif
return _rmdir((const char *)name);
}
@@ -3353,7 +3321,6 @@ mch_is_symbolic_link(char_u *name)
int res = FALSE;
WIN32_FIND_DATAA findDataA;
DWORD fileFlags = 0, reparseTag = 0;
-#ifdef FEAT_MBYTE
WCHAR *wn = NULL;
WIN32_FIND_DATAW findDataW;
@@ -3370,7 +3337,6 @@ mch_is_symbolic_link(char_u *name)
}
}
else
-#endif
{
hFind = FindFirstFile((LPCSTR)name, &findDataA);
if (hFind != INVALID_HANDLE_VALUE)
@@ -3415,7 +3381,6 @@ win32_fileinfo(char_u *fname, BY_HANDLE_FILE_INFORMATION *info)
{
HANDLE hFile;
int res = FILEINFO_READ_FAIL;
-#ifdef FEAT_MBYTE
WCHAR *wn = NULL;
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
@@ -3436,7 +3401,6 @@ win32_fileinfo(char_u *fname, BY_HANDLE_FILE_INFORMATION *info)
vim_free(wn);
}
else
-#endif
hFile = CreateFile((LPCSTR)fname, /* file name */
GENERIC_READ, /* access mode */
FILE_SHARE_READ | FILE_SHARE_WRITE, /* share mode */
@@ -3466,7 +3430,6 @@ win32_fileinfo(char_u *fname, BY_HANDLE_FILE_INFORMATION *info)
win32_getattrs(char_u *name)
{
int attr;
-#ifdef FEAT_MBYTE
WCHAR *p = NULL;
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
@@ -3478,7 +3441,6 @@ win32_getattrs(char_u *name)
vim_free(p);
}
else
-#endif
attr = GetFileAttributes((char *)name);
return attr;
@@ -3493,7 +3455,6 @@ win32_getattrs(char_u *name)
win32_setattrs(char_u *name, int attrs)
{
int res;
-#ifdef FEAT_MBYTE
WCHAR *p = NULL;
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
@@ -3505,7 +3466,6 @@ win32_setattrs(char_u *name, int attrs)
vim_free(p);
}
else
-#endif
res = SetFileAttributes((char *)name, attrs);
return res ? 0 : -1;
@@ -3621,9 +3581,7 @@ mch_nodetype(char_u *name)
{
HANDLE hFile;
int type;
-#ifdef FEAT_MBYTE
WCHAR *wn = NULL;
-#endif
/* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
* read from it later will cause Vim to hang. Thus return NODE_WRITABLE
@@ -3631,7 +3589,6 @@ mch_nodetype(char_u *name)
if (STRNCMP(name, "\\\\.\\", 4) == 0)
return NODE_WRITABLE;
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
wn = enc_to_utf16(name, NULL);
@@ -3647,7 +3604,6 @@ mch_nodetype(char_u *name)
vim_free(wn);
}
else
-#endif
hFile = CreateFile((LPCSTR)name, /* file name */
GENERIC_WRITE, /* access mode */
0, /* share mode */
@@ -3695,7 +3651,6 @@ mch_get_acl(char_u *fname)
p = (struct my_acl *)alloc_clear((unsigned)sizeof(struct my_acl));
if (p != NULL)
{
-# ifdef FEAT_MBYTE
WCHAR *wn = NULL;
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
@@ -3737,7 +3692,6 @@ mch_get_acl(char_u *fname)
vim_free(wn);
}
else
-# endif
{
/* Try to retrieve the entire security descriptor. */
err = GetNamedSecurityInfo(
@@ -3815,9 +3769,7 @@ mch_set_acl(char_u *fname, vim_acl_T acl)
if (p != NULL)
{
-# ifdef FEAT_MBYTE
WCHAR *wn = NULL;
-# endif
/* Set security flags */
if (p->pSidOwner)
@@ -3836,7 +3788,6 @@ mch_set_acl(char_u *fname, vim_acl_T acl)
if (p->pSacl)
sec_info |= SACL_SECURITY_INFORMATION;
-# ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
wn = enc_to_utf16(fname, NULL);
if (wn != NULL)
@@ -3853,7 +3804,6 @@ mch_set_acl(char_u *fname, vim_acl_T acl)
vim_free(wn);
}
else
-# endif
{
(void)SetNamedSecurityInfo(
(LPSTR)fname, // Abstract filename
@@ -4211,7 +4161,6 @@ vim_create_process(
LPVOID *env,
char *cwd)
{
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
BOOL ret;
@@ -4247,7 +4196,6 @@ vim_create_process(
return ret;
}
fallback:
-#endif
return CreateProcess(
NULL, /* Executable name */
cmd, /* Command to execute */
@@ -4267,7 +4215,6 @@ vim_shell_execute(
char *cmd,
INT n_show_cmd)
{
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR *wcmd = enc_to_utf16((char_u *)cmd, NULL);
@@ -4279,7 +4226,6 @@ vim_shell_execute(
return ret;
}
}
-#endif
return ShellExecute(NULL, NULL, cmd, NULL, NULL, n_show_cmd);
}
@@ -4466,20 +4412,9 @@ dump_pipe(int options,
while (ret != 0 && availableBytes > 0)
{
repeatCount++;
- toRead =
-# ifdef FEAT_MBYTE
- (DWORD)(BUFLEN - *buffer_off);
-# else
- (DWORD)BUFLEN;
-# endif
+ toRead = (DWORD)(BUFLEN - *buffer_off);
toRead = availableBytes < toRead ? availableBytes : toRead;
- ReadFile(g_hChildStd_OUT_Rd, buffer
-# ifdef FEAT_MBYTE
- + *buffer_off, toRead
-# else
- , toRead
-# endif
- , &len, NULL);
+ ReadFile(g_hChildStd_OUT_Rd, buffer + *buffer_off, toRead , &len, NULL);
/* If we haven't read anything, there is a problem */
if (len == 0)
@@ -4501,7 +4436,6 @@ dump_pipe(int options,
ga_append(ga, buffer[i]);
}
}
-# ifdef FEAT_MBYTE
else if (has_mbyte)
{
int l;
@@ -4545,7 +4479,6 @@ dump_pipe(int options,
}
*buffer_off = 0;
}
-# endif /* FEAT_MBYTE */
else
{
buffer[len] = NUL;
@@ -4740,11 +4673,9 @@ mch_system_piped(char *cmd, int options)
}
else if (ta_buf[i] == '\r')
ta_buf[i] = '\n';
-# ifdef FEAT_MBYTE
if (has_mbyte)
i += (*mb_ptr2len_len)(ta_buf + i,
ta_len + len - i) - 1;
-# endif
}
/*
@@ -4755,7 +4686,6 @@ mch_system_piped(char *cmd, int options)
{
if (ta_buf[i] == '\n' || ta_buf[i] == '\b')
msg_putchar(ta_buf[i]);
-# ifdef FEAT_MBYTE
else if (has_mbyte)
{
int l = (*mb_ptr2len)(ta_buf + i);
@@ -4763,7 +4693,6 @@ mch_system_piped(char *cmd, int options)
msg_outtrans_len(ta_buf + i, l);
i += l - 1;
}
-# endif
else
msg_outtrans_len(ta_buf + i, 1);
}
@@ -4857,7 +4786,6 @@ mch_system(char *cmd, int options)
}
#else
-# ifdef FEAT_MBYTE
static int
mch_system(char *cmd, int options)
{
@@ -4873,9 +4801,6 @@ mch_system(char *cmd, int options)
}
return system(cmd);
}
-# else
-# define mch_system(c, o) system(c)
-# endif
#endif
@@ -4972,7 +4897,6 @@ mch_call_shell(
int tmode = cur_tmode;
#ifdef FEAT_TITLE
char szShellTitle[512];
-# ifdef FEAT_MBYTE
int did_set_title = FALSE;
/* Change the title to reflect that we are in a subshell. */
@@ -5003,7 +4927,6 @@ mch_call_shell(
}
}
if (!did_set_title)
-# endif
/* Change the title to reflect that we are in a subshell. */
if (GetConsoleTitle(szShellTitle, sizeof(szShellTitle) - 4) > 0)
{
@@ -5217,7 +5140,6 @@ mch_call_shell(
"External commands will not pause after completion.\n"
"See :help win32-vimrun for more information.");
char *title = _("Vim Warning");
-# ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR *wmsg = enc_to_utf16((char_u *)msg, NULL);
@@ -5229,7 +5151,6 @@ mch_call_shell(
vim_free(wtitle);
}
else
-# endif
MessageBox(NULL, msg, title, MB_ICONWARNING);
need_vimrun_warning = FALSE;
}
@@ -5294,8 +5215,8 @@ job_io_file_open(
DWORD dwFlagsAndAttributes)
{
HANDLE h;
-# ifdef FEAT_MBYTE
WCHAR *wn = NULL;
+
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
wn = enc_to_utf16(fname, NULL);
@@ -5308,7 +5229,6 @@ job_io_file_open(
}
}
if (wn == NULL)
-# endif
h = CreateFile((LPCSTR)fname, dwDesiredAccess, dwShareMode,
lpSecurityAttributes, dwCreationDisposition,
dwFlagsAndAttributes, NULL);
@@ -6339,7 +6259,6 @@ write_chars(
COORD coord = g_coord;
DWORD written;
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
static WCHAR *unicodebuf = NULL;
@@ -6392,7 +6311,6 @@ write_chars(
}
}
else
-#endif
{
if (!USE_VTP)
{
@@ -6763,10 +6681,8 @@ mch_delay(
int
mch_remove(char_u *name)
{
-#ifdef FEAT_MBYTE
WCHAR *wn = NULL;
int n;
-#endif
/*
* On Windows, deleting a directory's symbolic link is done by
@@ -6777,7 +6693,6 @@ mch_remove(char_u *name)
win32_setattrs(name, FILE_ATTRIBUTE_NORMAL);
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
wn = enc_to_utf16(name, NULL);
@@ -6788,7 +6703,6 @@ mch_remove(char_u *name)
return n;
}
}
-#endif
return DeleteFile((LPCSTR)name) ? 0 : -1;
}
@@ -6839,7 +6753,6 @@ mch_total_mem(int special UNUSED)
return (long_u)((ms.ullTotalPhys - WINNT_RESERVE_BYTES) / 1024);
}
-#ifdef FEAT_MBYTE
/*
* Same code as below, but with wide functions and no comments.
* Return 0 for success, non-zero for failure.
@@ -6893,7 +6806,6 @@ mch_wrename(WCHAR *wold, WCHAR *wnew)
return 0;
}
-#endif
/*
@@ -6924,7 +6836,6 @@ mch_rename(
char szNewPath[_MAX_PATH+1];
char *pszFilePart;
HANDLE hf;
-#ifdef FEAT_MBYTE
WCHAR *wold = NULL;
WCHAR *wnew = NULL;
int retval = -1;
@@ -6939,7 +6850,6 @@ mch_rename(
vim_free(wnew);
return retval;
}
-#endif
/*
* No need to play tricks unless the file name contains a "~" as the
@@ -7024,25 +6934,20 @@ mch_access(char *n, int p)
{
HANDLE hFile;
int retval = -1; /* default: fail */
-#ifdef FEAT_MBYTE
WCHAR *wn = NULL;
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
wn = enc_to_utf16((char_u *)n, NULL);
-#endif
if (mch_isdir((char_u *)n))
{
char TempName[_MAX_PATH + 16] = "";
-#ifdef FEAT_MBYTE
WCHAR TempNameW[_MAX_PATH + 16] = L"";
-#endif
if (p & R_OK)
{
/* Read check is performed by seeing if we can do a find file on
* the directory for any file. */
-#ifdef FEAT_MBYTE
if (wn != NULL)
{
int i;
@@ -7062,7 +6967,6 @@ mch_access(char *n, int p)
(void)FindClose(hFile);
}
else
-#endif
{
char *pch;
WIN32_FIND_DATA d;
@@ -7087,7 +6991,6 @@ mch_access(char *n, int p)
* directories on read-only network shares. However, in
* directories whose ACL allows writes but denies deletes will end
* up keeping the temporary file :-(. */
-#ifdef FEAT_MBYTE
if (wn != NULL)
{
if (!GetTempFileNameW(wn, L"VIM", 0, TempNameW))
@@ -7096,7 +6999,6 @@ mch_access(char *n, int p)
DeleteFileW(TempNameW);
}
else
-#endif
{
if (!GetTempFileName(n, "VIM", 0, TempName))
goto getout;
@@ -7114,12 +7016,10 @@ mch_access(char *n, int p)
DWORD access_mode = ((p & W_OK) ? GENERIC_WRITE : 0)
| ((p & R_OK) ? GENERIC_READ : 0);
-#ifdef FEAT_MBYTE
if (wn != NULL)
hFile = CreateFileW(wn, access_mode, share_mode,
NULL, OPEN_EXISTING, 0, NULL);
else
-#endif
hFile = CreateFile(n, access_mode, share_mode,
NULL, OPEN_EXISTING, 0, NULL);
if (hFile == INVALID_HANDLE_VALUE)
@@ -7129,13 +7029,10 @@ mch_access(char *n, int p)
retval = 0; /* success */
getout:
-#ifdef FEAT_MBYTE
vim_free(wn);
-#endif
return retval;
}
-#if defined(FEAT_MBYTE) || defined(PROTO)
/*
* Version of open() that may use UTF-16 file name.
*/
@@ -7143,7 +7040,7 @@ getout:
mch_open(const char *name, int flags, int mode)
{
/* _wopen() does not work with Borland C 5.5: creates a read-only file. */
-# ifndef __BORLANDC__
+#ifndef __BORLANDC__
WCHAR *wn;
int f;
@@ -7157,7 +7054,7 @@ mch_open(const char *name, int flags, int mode)
return f;
}
}
-# endif
+#endif
/* open() can open a file which name is longer than _MAX_PATH bytes
* and shorter than _MAX_PATH characters successfully, but sometimes it
@@ -7180,7 +7077,7 @@ mch_fopen(const char *name, const char *mode)
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
-# if defined(DEBUG) && _MSC_VER >= 1400
+#if defined(DEBUG) && _MSC_VER >= 1400
/* Work around an annoying assertion in the Microsoft debug CRT
* when mode's text/binary setting doesn't match _get_fmode(). */
char newMode = mode[strlen(mode) - 1];
@@ -7191,7 +7088,7 @@ mch_fopen(const char *name, const char *mode)
_set_fmode(_O_TEXT);
else if (newMode == 'b')
_set_fmode(_O_BINARY);
-# endif
+#endif
wn = enc_to_utf16((char_u *)name, NULL);
wm = enc_to_utf16((char_u *)mode, NULL);
if (wn != NULL && wm != NULL)
@@ -7199,9 +7096,9 @@ mch_fopen(const char *name, const char *mode)
vim_free(wn);
vim_free(wm);
-# if defined(DEBUG) && _MSC_VER >= 1400
+#if defined(DEBUG) && _MSC_VER >= 1400
_set_fmode(oldMode);
-# endif
+#endif
return f;
}
@@ -7214,9 +7111,7 @@ mch_fopen(const char *name, const char *mode)
return fopen(name, mode);
}
-#endif
-#ifdef FEAT_MBYTE
/*
* SUB STREAM (aka info stream) handling:
*
@@ -7360,7 +7255,6 @@ copy_infostreams(char_u *from, char_u *to)
vim_free(fromw);
vim_free(tow);
}
-#endif
/*
* Copy file attributes from file "from" to file "to".
@@ -7370,11 +7264,9 @@ copy_infostreams(char_u *from, char_u *to)
int
mch_copy_file_attribute(char_u *from, char_u *to)
{
-#ifdef FEAT_MBYTE
/* File streams only work on Windows NT and later. */
PlatformId();
copy_infostreams(from, to);
-#endif
return 0;
}
@@ -7464,7 +7356,6 @@ myresetstkoflw(void)
#endif
-#if defined(FEAT_MBYTE) || defined(PROTO)
/*
* The command line arguments in UCS2
*/
@@ -7691,7 +7582,6 @@ fix_arg_enc(void)
set_alist_count();
}
-#endif
int
mch_setenv(char *var, char *value, int x)
@@ -7704,7 +7594,6 @@ mch_setenv(char *var, char *value, int x)
sprintf((char *)envbuf, "%s=%s", var, value);
-#ifdef FEAT_MBYTE
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
WCHAR *p = enc_to_utf16(envbuf, NULL);
@@ -7713,14 +7602,13 @@ mch_setenv(char *var, char *value, int x)
if (p == NULL)
return -1;
_wputenv(p);
-# ifdef libintl_wputenv
+#ifdef libintl_wputenv
libintl_wputenv(p);
-# endif
+#endif
/* Unlike Un*x systems, we can free the string for _wputenv(). */
vim_free(p);
}
else
-#endif
{
_putenv((char *)envbuf);
#ifdef libintl_putenv