about summary refs log tree commit diff stats
path: root/WWW/Library/Implementation/HTMIME.c
diff options
context:
space:
mode:
Diffstat (limited to 'WWW/Library/Implementation/HTMIME.c')
-rw-r--r--WWW/Library/Implementation/HTMIME.c48
1 files changed, 9 insertions, 39 deletions
diff --git a/WWW/Library/Implementation/HTMIME.c b/WWW/Library/Implementation/HTMIME.c
index 82c0c8f1..d7b11a15 100644
--- a/WWW/Library/Implementation/HTMIME.c
+++ b/WWW/Library/Implementation/HTMIME.c
@@ -360,6 +360,13 @@ PRIVATE void HTMIME_put_character ARGS2(
 			    else if (chndl < 0) {/* got something but we don't
 						 recognize it */
 				chndl = UCLYhndl_for_unrec;
+				if (chndl < 0)
+				/*
+				 **  UCLYhndl_for_unrec not defined :-(
+				 **  fallback to UCLYhndl_for_unspec
+				 **  which always valid.
+				 */
+				chndl = UCLYhndl_for_unspec;  /* always >= 0 */
 				if (UCCanTranslateFromTo(chndl,
 							 current_char_set)) {
 				    chartrans_ok = YES;
@@ -414,46 +421,9 @@ PRIVATE void HTMIME_put_character ARGS2(
 					HTPassEightBitRaw = TRUE;
 				    }
 				} else if (p_out->enc == UCT_ENC_CJK) {
-				    if (LYRawMode) {
-					if ((!strcmp(p_in->MIMEname,
-						     "euc-jp") ||
-					     !strcmp(p_in->MIMEname,
-						     "shift_jis")) &&
-					    (!strcmp(p_out->MIMEname,
-						     "euc-jp") ||
-					     !strcmp(p_out->MIMEname,
-						     "shift_jis"))) {
-					    HTCJK = JAPANESE;
-					} else if (!strcmp(p_in->MIMEname,
-							   "euc-cn") &&
-						   !strcmp(p_out->MIMEname,
-							   "euc-cn")) {
-					    HTCJK = CHINESE;
-					} else if (!strcmp(p_in->MIMEname,
-							   "big-5") &&
-						   !strcmp(p_out->MIMEname,
-							   "big-5")) {
-					    HTCJK = TAIPEI;
-					} else if (!strcmp(p_in->MIMEname,
-							   "euc-kr") &&
-						   !strcmp(p_out->MIMEname,
-							   "euc-kr")) {
-					    HTCJK = KOREAN;
-					} else {
-					    HTCJK = NOCJK;
-					}
-				    } else {
-					HTCJK = NOCJK;
-				    }
+				    Set_HTCJK(p_in->MIMEname, p_out->MIMEname);
 				}
-			    /*
-			    **  Check for an iso-8859-# we don't know. - FM
-			    */
-			    } else if
-			       (!strncmp(cp4, "iso-8859-", 9) &&
-				isdigit((unsigned char)cp4[9]) &&
-				!strncmp(LYchar_set_names[current_char_set],
-					 "Other ISO Latin", 15)) {
+			    } else {
 				/*
 				**  Hope it's a match, for now. - FM
 				*/