[Ttssh2-commit] [5692] sprintf, sprintf2 マクロコマンドで浮動小数点数を表す引数を処理できない問題を修正

アーカイブの一覧に戻る

svnno****@sourc***** svnno****@sourc*****
2014年 10月 31日 (金) 23:46:04 JST


Revision: 5692
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5692
Author:   maya
Date:     2014-10-31 23:46:03 +0900 (Fri, 31 Oct 2014)
Log Message:
-----------
sprintf, sprintf2 マクロコマンドで浮動小数点数を表す引数を処理できない問題を修正
  浮動小数点数を IntVal の引数として受け取っても Int 部分しか受け取れない
  文字列として渡す必要がある

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

-------------- next part --------------
Modified: trunk/teraterm/ttpmacro/ttl.c
===================================================================
--- trunk/teraterm/ttpmacro/ttl.c	2014-10-28 22:27:39 UTC (rev 5691)
+++ trunk/teraterm/ttpmacro/ttl.c	2014-10-31 14:46:03 UTC (rev 5692)
@@ -4374,12 +4374,17 @@
 
 					strncat_s(subFmt, sizeof(subFmt), p, 1);
 
-					if (type == STRING) {
+					if (type == STRING || type == DOUBLE) {
 						// \x95\xB6\x8E\x9A\x97\xF1\x82Ƃ\xB5\x82ēǂ߂邩\x83g\x83\x89\x83C
 						TmpErr = 0;
 						GetStrVal(Str, &TmpErr);
 						if (TmpErr == 0) {
-							_snprintf_s(buf2, sizeof(buf2), _TRUNCATE, subFmt, Str);
+							if (type == STRING) {
+								_snprintf_s(buf2, sizeof(buf2), _TRUNCATE, subFmt, Str);
+							}
+							else { // DOUBLE
+								_snprintf_s(buf2, sizeof(buf2), _TRUNCATE, subFmt, atof(Str));
+							}
 						}
 						else {
 							SetResult(3);
@@ -4392,12 +4397,7 @@
 						TmpErr = 0;
 						GetIntVal(&Num, &TmpErr);
 						if (TmpErr == 0) {
-							if (type == INTEGER) {
-								_snprintf_s(buf2, sizeof(buf2), _TRUNCATE, subFmt, Num);
-							}
-							else {
-								_snprintf_s(buf2, sizeof(buf2), _TRUNCATE, subFmt, (double)Num);
-							}
+							_snprintf_s(buf2, sizeof(buf2), _TRUNCATE, subFmt, Num);
 						}
 						else {
 							SetResult(3);



Ttssh2-commit メーリングリストの案内
アーカイブの一覧に戻る