[Ttssh2-commit] [6694] / PIPE が指定された場合は、ホスト名を補って UNC 形式になるようにした [Ttssh2-devel 3243]

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2017年 4月 24日 (月) 20:50:00 JST


Revision: 6694
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6694
Author:   doda
Date:     2017-04-24 20:50:00 +0900 (Mon, 24 Apr 2017)
Log Message:
-----------
/PIPE が指定された場合は、ホスト名を補って UNC 形式になるようにした [Ttssh2-devel 3243]

・先頭が \ で始まる場合は特別にはいじらない
・ホスト名全体に \ が含まれていない場合は、先頭に \\.\pipe\ を付加する
  例: hoge ⇒ \\.\pipe\hoge
・ホスト名の先頭以外に \ が含まれている場合は、それより前をサーバ名、
  後ろをパイプ名とする
  例: svname\fuga ⇒ \\svname\pipe\fuga

Modified Paths:
--------------
    trunk/teraterm/ttpset/ttset.c

-------------- next part --------------
Modified: trunk/teraterm/ttpset/ttset.c
===================================================================
--- trunk/teraterm/ttpset/ttset.c	2017-04-24 11:49:57 UTC (rev 6693)
+++ trunk/teraterm/ttpset/ttset.c	2017-04-24 11:50:00 UTC (rev 6694)
@@ -3732,7 +3732,7 @@
 	DWORD ParamBaud = BaudNone;
 	BOOL HostNameFlag = FALSE;
 	BOOL JustAfterHost = FALSE;
-	PCHAR start, cur, next;
+	PCHAR start, cur, next, p;
 
 	ts->HostName[0] = 0;
 	//ts->KeyCnfFN[0] = 0;
@@ -4054,6 +4054,16 @@
 		ts->PortType = IdFile;
 		break;
 	case IdNamedPipe:
+		if (ts->HostName[0] != 0 && ts->HostName[0] != '\\') {
+			if (p = strchr(ts->HostName, '\\')) {
+				*p++ = '\0';
+				_snprintf_s(Temp, sizeof(Temp), _TRUNCATE, "\\\\%s\\pipe\\%s", ts->HostName, p);
+			}
+			else {
+				_snprintf_s(Temp, sizeof(Temp), _TRUNCATE, "\\\\.\\pipe\\%s", ts->HostName);
+			}
+			strncpy_s(ts->HostName, sizeof(ts->HostName), Temp, _TRUNCATE);
+		}
 		ts->PortType = IdNamedPipe;
 		ts->ComPort = 0;
 		break;



Ttssh2-commit メーリングリストの案内
Back to archive index