[Ttssh2-commit] [3443] マップのサイズ計算をマクロに。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 6月 7日 (日) 15:16:26 JST


Revision: 3443
          http://svn.sourceforge.jp/view?root=ttssh2&view=rev&rev=3443
Author:   doda
Date:     2009-06-07 15:16:26 +0900 (Sun, 07 Jun 2009)

Log Message:
-----------
マップのサイズ計算をマクロに。

Modified Paths:
--------------
    trunk/teraterm/teraterm/vtterm.c


-------------- next part --------------
Modified: trunk/teraterm/teraterm/vtterm.c
===================================================================
--- trunk/teraterm/teraterm/vtterm.c	2009-06-06 11:16:25 UTC (rev 3442)
+++ trunk/teraterm/teraterm/vtterm.c	2009-06-07 06:16:26 UTC (rev 3443)
@@ -25,6 +25,8 @@
 
 #include "vtterm.h"
 
+#define MAPSIZE(x) (sizeof(x)/sizeof((x)[0]))
+
   /* Parsing modes */
 #define ModeFirst 0
 #define ModeESC   1
@@ -3084,7 +3086,7 @@
 	wchar[1] = (code >> 8) & 0xff;
 
 	if (ts.UnicodeDecSpMapping) {
-		cset = ConvertUnicode(code, mapUnicodeSymbolToDecSp, sizeof(mapUnicodeSymbolToDecSp)/sizeof(mapUnicodeSymbolToDecSp[0]));
+		cset = ConvertUnicode(code, mapUnicodeSymbolToDecSp, MAPSIZE(mapUnicodeSymbolToDecSp));
 	}
 	if (((cset >> 8) & ts.UnicodeDecSpMapping) != 0) {
 		PutDecSp(cset & 0xff);
@@ -3096,7 +3098,7 @@
 		  case -1:
 			if (_stricmp(ts.Locale, DEFAULT_LOCALE) == 0) {
 				// U+301C‚È‚Ç‚Í•ÏŠ·‚Å‚«‚È‚¢BUnicode -> Shift_JIS‚Ö•ÏŠ·‚µ‚Ä‚Ý‚éB
-				cset = ConvertUnicode(code, mapUnicodeToSJIS, sizeof(mapUnicodeToSJIS)/sizeof(mapUnicodeToSJIS[0]));
+				cset = ConvertUnicode(code, mapUnicodeToSJIS, MAPSIZE(mapUnicodeToSJIS));
 				if (cset != 0) {
 					Kanji = cset & 0xff00;
 					PutKanji(cset & 0x00ff);
@@ -3216,7 +3218,7 @@
 		if (hfsplus_mode == 1) {
 			if (maybe_hfsplus == 0) {
 				if ((first_code_index = GetIndexOfHFSPlusFirstCode(
-						code, mapHFSPlusUnicode, sizeof(mapHFSPlusUnicode)/sizeof(mapHFSPlusUnicode[0])
+						code, mapHFSPlusUnicode, MAPSIZE(mapHFSPlusUnicode)
 						)) != -1) {
 					maybe_hfsplus = 1;
 					first_code = code;
@@ -3225,14 +3227,14 @@
 				}
 			} else {
 				maybe_hfsplus = 0;
-				cset = GetIllegalUnicode(first_code_index, first_code, code, mapHFSPlusUnicode, sizeof(mapHFSPlusUnicode)/sizeof(mapHFSPlusUnicode[0]));
+				cset = GetIllegalUnicode(first_code_index, first_code, code, mapHFSPlusUnicode, MAPSIZE(mapHFSPlusUnicode));
 				if (cset != 0) { // success
 					code = cset;
 
 				} else { // error
 					// 2‚‚߂̕¶Žš‚ª”¼‘÷“_‚Ì1•¶Žš–Ú‚É‘Š“–‚·‚éê‡‚́AÄ“xŒŸõ‚𑱂¯‚éB(2005.10.15 yutaka)
 					if ((first_code_index = GetIndexOfHFSPlusFirstCode(
-							code, mapHFSPlusUnicode, sizeof(mapHFSPlusUnicode)/sizeof(mapHFSPlusUnicode[0])
+							code, mapHFSPlusUnicode, MAPSIZE(mapHFSPlusUnicode)
 							)) != -1) {
 
 						// 1‚‚߂̕¶Žš‚Í‚»‚̂܂܏o—Í‚·‚é



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