Mercurial > vim
changeset 33625:1ffdcd8a424e v9.0.2054
patch 9.0.2054: win32: iscygpty needs update
Commit: https://github.com/vim/vim/commit/ac709e2fc0db6d31abb7da96f743c40956b60c3a
Author: Ken Takata <kentkt@csc.jp>
Date: Fri Oct 20 11:54:05 2023 +0200
patch 9.0.2054: win32: iscygpty needs update
Problem: win32: iscygpty needs update
Solution: Update iscygpty to the latest version, make use iswascii()
API function
Import the latest version from https://github.com/k-takata/ptycheck.
This addresses #13332 for iscygpty()
closes: #13392
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 20 Oct 2023 12:00:05 +0200 |
parents | 420ceec75ea7 |
children | 9aaff4ee6c70 |
files | src/iscygpty.c src/version.c |
diffstat | 2 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/iscygpty.c +++ b/src/iscygpty.c @@ -2,7 +2,7 @@ * iscygpty.c -- part of ptycheck * https://github.com/k-takata/ptycheck * - * Copyright (c) 2015-2017 K.Takata + * Copyright (c) 2015-2023 K.Takata * * You can redistribute it and/or modify it under the terms of either * the MIT license (as described below) or the Vim license. @@ -116,7 +116,7 @@ int is_cygpty(int fd) return 0; #else HANDLE h; - int size = sizeof(FILE_NAME_INFO) + sizeof(WCHAR) * (MAX_PATH - 1); + const int size = sizeof(FILE_NAME_INFO) + sizeof(WCHAR) * (MAX_PATH - 1); FILE_NAME_INFO *nameinfo; WCHAR *p = NULL; @@ -135,7 +135,7 @@ int is_cygpty(int fd) return 0; } // Check the name of the pipe: - // '\{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master' + // "\\{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master" if (pGetFileInformationByHandleEx(h, FileNameInfo, nameinfo, size)) { nameinfo->FileName[nameinfo->FileNameLength / sizeof(WCHAR)] = L'\0'; p = nameinfo->FileName; @@ -147,7 +147,8 @@ int is_cygpty(int fd) p = NULL; } if (p != NULL) { - while (*p && isxdigit(*p)) // Skip 16-digit hexadecimal. + // Skip 16-digit hexadecimal. + while (*p && iswascii(*p) && isxdigit(*p)) ++p; if (is_wprefix(p, L"-pty")) { p += 4; @@ -156,7 +157,8 @@ int is_cygpty(int fd) } } if (p != NULL) { - while (*p && isdigit(*p)) // Skip pty number. + // Skip pty number. + while (*p && iswascii(*p) && isdigit(*p)) ++p; if (is_wprefix(p, L"-from-master")) { //p += 12;