# HG changeset patch # User Christian Brabandt # Date 1697796005 -7200 # Node ID 1ffdcd8a424e7e295052240e61f54c4a12d6d6ee # Parent 420ceec75ea75f5a43c06ca2936596b53f7b7e4b patch 9.0.2054: win32: iscygpty needs update Commit: https://github.com/vim/vim/commit/ac709e2fc0db6d31abb7da96f743c40956b60c3a Author: Ken Takata 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 Co-authored-by: Ken Takata diff --git a/src/iscygpty.c b/src/iscygpty.c --- 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; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2054, +/**/ 2053, /**/ 2052,