[Ttssh2-commit] [5833] filewrite/ filewritelnで、数値を受け付けるようにした。 [ ttssh2-devel 2460]

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2015年 4月 7日 (火) 13:51:33 JST


Revision: 5833
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5833
Author:   doda
Date:     2015-04-07 13:51:31 +0900 (Tue, 07 Apr 2015)
Log Message:
-----------
filewrite/filewritelnで、数値を受け付けるようにした。[ttssh2-devel 2460]
数値を渡された場合は、sendと同様に数値に対応した文字を書き込む。

Modified Paths:
--------------
    trunk/teraterm/ttpmacro/ttl.c

-------------- next part --------------
Modified: trunk/teraterm/ttpmacro/ttl.c
===================================================================
--- trunk/teraterm/ttpmacro/ttl.c	2015-03-27 09:05:42 UTC (rev 5832)
+++ trunk/teraterm/ttpmacro/ttl.c	2015-04-07 04:51:31 UTC (rev 5833)
@@ -1961,39 +1961,43 @@
 	return Err;
 }
 
-WORD TTLFileWrite()
+WORD TTLFileWrite(BOOL addCRLF)
 {
-	WORD Err;
-	int FH;
+	WORD Err, P;
+	int FH, Val;
 	TStrVal Str;
 
 	Err = 0;
-	GetIntVal(&FH,&Err);
-	GetStrVal(Str,&Err);
-	if ((Err==0) && (GetFirstChar()!=0))
-		Err = ErrSyntax;
-	if (Err!=0) return Err;
+	GetIntVal(&FH, &Err);
+	if (Err) return Err;
 
-	_lwrite(FH,Str,strlen(Str));
-	return Err;
-}
+	P = LinePtr;
+	GetStrVal(Str, &Err);
+	if (!Err) {
+		if (GetFirstChar())
+			return ErrSyntax;
 
-WORD TTLFileWriteLn()
-{
-	WORD Err;
-	int FH;
-	TStrVal Str;
+		_lwrite(FH, Str, strlen(Str));
+	}
+	else if (Err == ErrTypeMismatch) {
+		Err = 0;
+		LinePtr = P;
+		GetIntVal(&Val, &Err);
+		if (Err) return Err;
+		if (GetFirstChar())
+			return ErrSyntax;
 
-	Err = 0;
-	GetIntVal(&FH,&Err);
-	GetStrVal(Str,&Err);
-	if ((Err==0) && (GetFirstChar()!=0))
-		Err = ErrSyntax;
-	if (Err!=0) return Err;
+		Str[0] = Val & 0xff;
+		_lwrite(FH, Str, 1);
+	}
+	else {
+		return Err;
+	}
 
-	_lwrite(FH,Str,strlen(Str));
-	_lwrite(FH,"\015\012",2);
-	return Err;
+	if (addCRLF) {
+		_lwrite(FH,"\015\012",2);
+	}
+	return 0;
 }
 
 WORD TTLFindClose()
@@ -6009,9 +6013,9 @@
 		case RsvFileTruncate:
 			Err = TTLFileTruncate(); break;
 		case RsvFileWrite:
-			Err = TTLFileWrite(); break;
+			Err = TTLFileWrite(FALSE); break;
 		case RsvFileWriteLn:
-			Err = TTLFileWriteLn(); break;
+			Err = TTLFileWrite(TRUE); break;
 		case RsvFindClose:
 			Err = TTLFindClose(); break;
 		case RsvFindFirst:



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