about summary refs log tree commit diff stats
path: root/src/UCAux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/UCAux.c')
-rw-r--r--src/UCAux.c163
1 files changed, 83 insertions, 80 deletions
diff --git a/src/UCAux.c b/src/UCAux.c
index cca77ebc..db88bbcf 100644
--- a/src/UCAux.c
+++ b/src/UCAux.c
@@ -1,4 +1,3 @@
-#ifdef EXP_CHARTRANS
 #include "HTUtils.h"
 #include "tcp.h"
 
@@ -10,7 +9,8 @@
 extern HTCJKlang HTCJK;
 extern LYUCcharset LYCharSet_UC[];
 
-PUBLIC BOOL UCCanUniTranslateFrom ARGS1(int, from)
+PUBLIC BOOL UCCanUniTranslateFrom ARGS1(
+	int,		from)
 {
     if (from < 0)
 	return NO;
@@ -21,21 +21,24 @@ PUBLIC BOOL UCCanUniTranslateFrom ARGS1(int, from)
 	return YES;
     return (LYCharSet_UC[from].UChndl >= 0);
 }
-PUBLIC BOOL UCCanTranslateUniTo ARGS1(int, to)
+PUBLIC BOOL UCCanTranslateUniTo ARGS1(
+	int,		to)
 {
     if (to < 0)
 	return NO;
     return YES;			/* well at least some characters... */
 }
-PUBLIC BOOL UCCanTranslateFromTo ARGS2(int, from, int, to)
+PUBLIC BOOL UCCanTranslateFromTo ARGS2(
+	int,		from,
+	int,		to)
 {
-    if (from==to)
+    if (from == to)
 	return YES;
     if (from < 0 || to < 0)
 	return NO;
-    if (from==0)
+    if (from == 0)
 	return UCCanTranslateUniTo(to);
-    if (to==0)
+    if (to == 0)
 	return UCCanUniTranslateFrom(from);
     if (LYCharSet_UC[to].enc == UCT_ENC_UTF8) {
 	return (LYCharSet_UC[from].UChndl >= 0);
@@ -43,61 +46,62 @@ PUBLIC BOOL UCCanTranslateFromTo ARGS2(int, from, int, to)
     {
 	char * fromname = LYCharSet_UC[from].MIMEname;
 	char * toname = LYCharSet_UC[to].MIMEname;
-	if (0==strcmp(fromname,"x-transparent") ||
-	    0==strcmp(toname,"x-transparent")) {
+	if (!strcmp(fromname, "x-transparent") ||
+	    !strcmp(toname, "x-transparent")) {
 	    return YES;
 	}
 	if (LYCharSet_UC[from].enc == UCT_ENC_CJK) {
 	    if (HTCJK == NOCJK)	/* use that global flag, for now */
 		return NO;
-	    if (HTCJK == JAPANESE && (
-		0==strcmp(fromname,"euc-jp") ||
-		0==strncmp(fromname,"iso-2022-jp",11) ||
-		0==strcmp(fromname,"shift_jis")
-		))
+	    if (HTCJK == JAPANESE &&
+		(!strcmp(fromname, "euc-jp") ||
+		 !strncmp(fromname, "iso-2022-jp",11) ||
+		 !strcmp(fromname, "shift_jis")))
 		return YES;
-	    return NO;	/* if not handled by (from==to) above */
+	    return NO;	/* if not handled by (from == to) above */
 	}
-	if (0==strcmp(fromname,"koi8-r")) {
-	    			/* will try to uses stripping of high bit... */
+	if (!strcmp(fromname, "koi8-r")) {
+	    /*
+	     *  Will try to uses stripping of high bit...
+	     */
 	    return YES;
 	}
 	    
-	if (0==strcmp(fromname,"koi8-r") || /* from cyrillic */
-	    0==strcmp(fromname,"iso-8859-5") ||
-	    0==strcmp(fromname,"koi-8")) {
-	    if (0!=strcmp(toname,"iso-8859-5") &&
-		0!=strcmp(toname,"koi8-r") &&
-		0!=strcmp(toname,"iso-8859-2"))
+	if (!strcmp(fromname, "koi8-r") || /* from cyrillic */
+	    !strcmp(fromname, "iso-8859-5") ||
+	    !strcmp(fromname, "koi-8")) {
+	    if (strcmp(toname, "iso-8859-5") &&
+		strcmp(toname, "koi8-r") &&
+		strcmp(toname, "iso-8859-2"))
 		return NO;
 	}
     }
     return (LYCharSet_UC[from].UChndl >= 0);
 }
 
-/* The idea here is that any stage of the stream pipe which is interested
-** in some charset dependent processing will call this function.
-** Given input and ouptput charsets, this function will set various flags
-** in a UCTransParams structure that _suggest_ to the caller what to do.
-**
-** Should be called once when a stage starts processing text (and the
-** input and output charsets are known), or whenever one of input or
-** output charsets has changed (e.g. by SGML.c stage after HTML.c stage
-** has processed a META tag).
-** The global flags (LYRawMode, HTPassEightBitRaw etc.) are currently
-** not taken into account here, it's still up to the caller to do something
-** about them.
-*/
+/*
+ *  The idea here is that any stage of the stream pipe which is interested
+ *  in some charset dependent processing will call this function.
+ *  Given input and ouptput charsets, this function will set various flags
+ *  in a UCTransParams structure that _suggest_ to the caller what to do.
+ *
+ *  Should be called once when a stage starts processing text (and the
+ *  input and output charsets are known), or whenever one of input or
+ *  output charsets has changed (e.g. by SGML.c stage after HTML.c stage
+ *  has processed a META tag).
+ *  The global flags (LYRawMode, HTPassEightBitRaw etc.) are currently
+ *  not taken into account here, it's still up to the caller to do something
+ *  about them.
+ */
 PUBLIC void UCSetTransParams ARGS5(
     UCTransParams *, 	pT,
     int,		cs_in,
     CONST LYUCcharset*,	p_in,
     int,		cs_out,
-    CONST LYUCcharset*,	p_out
-    )
+    CONST LYUCcharset*,	p_out)
 {
-    pT->transp = (0==strcmp(p_in->MIMEname,"x-transparent") ||
-		0==strcmp(p_out->MIMEname,"x-transparent"));
+    pT->transp = (!strcmp(p_in->MIMEname, "x-transparent") ||
+		  !strcmp(p_out->MIMEname, "x-transparent"));
     if (pT->transp) {
 	pT->do_cjk = FALSE;
 	pT->decode_utf8 = FALSE;
@@ -121,23 +125,21 @@ PUBLIC void UCSetTransParams ARGS5(
 	    pT->use_raw_char_in = FALSE; /* not used for CJK */
 	    pT->trans_from_uni = FALSE; /* not used for CJK */
 	} else {
-	    intm_ucs = (
-		cs_in == 0 || pT->decode_utf8 ||
-	    (p_in->codepoints & (UCT_CP_SUBSETOF_LAT1|UCT_CP_SUBSETOF_UCS2))
-		);
+	    intm_ucs = (cs_in == 0 || pT->decode_utf8 ||
+			(p_in->codepoints &
+			 (UCT_CP_SUBSETOF_LAT1|UCT_CP_SUBSETOF_UCS2)));
 	    pT->trans_to_uni = (!intm_ucs &&
 				UCCanUniTranslateFrom(cs_in));
-	    pT->strip_raw_char_in =
-		((!intm_ucs ||
-		  (p_out->enc==UCT_ENC_7BIT) ||
-		  (p_out->repertoire & UCT_REP_SUBSETOF_LAT1)) &&
-		cs_in != cs_out &&
-		0==strcmp(p_in->MIMEname,"koi8-r"));
+	    pT->strip_raw_char_in = ((!intm_ucs ||
+				      (p_out->enc == UCT_ENC_7BIT) ||
+				       (p_out->repertoire &
+				        UCT_REP_SUBSETOF_LAT1)) &&
+				     cs_in != cs_out &&
+				     !strcmp(p_in->MIMEname, "koi8-r"));
 	    use_ucs = (intm_ucs || pT->trans_to_uni);
 	    pT->do_8bitraw = (!use_ucs);
 	    pT->pass_160_173_raw = (!use_ucs &&
-				    !(p_in->like8859 & UCT_R_8859SPECL)
-			      );
+				    !(p_in->like8859 & UCT_R_8859SPECL));
 	    pT->use_raw_char_in = (!pT->output_utf8 && cs_in == cs_out);
 	    pT->trans_from_uni = (use_ucs && !pT->do_8bitraw &&
 				  !pT->use_raw_char_in &&
@@ -149,46 +151,48 @@ PUBLIC void UCSetTransParams ARGS5(
 PUBLIC void UCTransParams_clear ARGS1(
     UCTransParams *,    pT)
 {
-	pT->transp = FALSE;
-	pT->do_cjk = FALSE;
-	pT->decode_utf8 = FALSE;
-	pT->output_utf8 = FALSE;
-	pT->do_8bitraw = FALSE;
-	pT->use_raw_char_in = FALSE;
-	pT->strip_raw_char_in = FALSE;
-	pT->pass_160_173_raw = FALSE;
-	pT->trans_to_uni = FALSE;
-	pT->trans_from_uni = FALSE;
+    pT->transp = FALSE;
+    pT->do_cjk = FALSE;
+    pT->decode_utf8 = FALSE;
+    pT->output_utf8 = FALSE;
+    pT->do_8bitraw = FALSE;
+    pT->use_raw_char_in = FALSE;
+    pT->strip_raw_char_in = FALSE;
+    pT->pass_160_173_raw = FALSE;
+    pT->trans_to_uni = FALSE;
+    pT->trans_from_uni = FALSE;
 }
 
-/* Given an output target HTStream* (can also be a HTStructured* via typecast),
-** the target stream's put_character method, and a unicode character, 
-** CPutUtf8_charstring() will either output the UTF8 encoding of the unicode
-** and return YES, or do nothing and return NO (if conversion would be
-** unnecessary or the unicode character is considered invalid).
-**
-** [Could be used more generally, but is currently only used for &#nnnnn 
-** stuff - generation of UTF8 from 8-bit encoded charsets not yet done
-** by SGML.c etc.]
-*/
+/*
+ *  Given an output target HTStream* (can also be a HTStructured* via
+ *  typecast), the target stream's put_character method, and a unicode
+ *  character,  CPutUtf8_charstring() will either output the UTF8
+ *  encoding of the unicode and return YES, or do nothing and return
+ *  NO (if conversion would be unnecessary or the unicode character is
+ *  considered invalid).
+ *
+ *  [Could be used more generally, but is currently only used for &#nnnnn 
+ *  stuff - generation of UTF8 from 8-bit encoded charsets not yet done
+ *  by SGML.c etc.]
+ */
 #define PUTC(ch) ((*myPutc)(target, (char)(ch)))
 #define PUTC2(ch) ((*myPutc)(target,(char)(0x80|(0x3f &(ch)))))
 
 PUBLIC BOOL UCPutUtf8_charstring ARGS3(
-    HTStream *,	target,
-    putc_func_t *,	myPutc,
-    long,	code)
+	HTStream *,	target,
+	putc_func_t *,	myPutc,
+	long,		code)
 {
     if (code < 128)
 	return NO;		/* indicate to caller we didn't handle it */
-    else if   (code <     0x800L) {
+    else if   (code < 0x800L) {
 	PUTC(0xc0 | (code>>6));
 	PUTC2(code);
-    } else if (code <   0x10000L) {
+    } else if (code < 0x10000L) {
 	PUTC(0xe0 | (code>>12));
 	PUTC2(code>>6);
 	PUTC2(code);
-    } else if (code <  0x200000L) {
+    } else if (code < 0x200000L) {
 	PUTC(0xf0 | (code>>18));
 	PUTC2(code>>12);
 	PUTC2(code>>6);
@@ -199,7 +203,7 @@ PUBLIC BOOL UCPutUtf8_charstring ARGS3(
 	PUTC2(code>>12);
 	PUTC2(code>>6);
 	PUTC2(code);
-    } else if (code<=0x7fffffffL) {
+    } else if (code <= 0x7fffffffL) {
 	PUTC(0xfc | (code>>30));
 	PUTC2(code>>24);
 	PUTC2(code>>18);
@@ -210,4 +214,3 @@ PUBLIC BOOL UCPutUtf8_charstring ARGS3(
 	return NO;
     return YES;
 }
-#endif /* EXP_CHARTRANS */