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;
--- 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,