diff src/mule-wnnfns.c @ 157:6b37e6ddd302 r20-3b5

Import from CVS: tag r20-3b5
author cvs
date Mon, 13 Aug 2007 09:40:41 +0200
parents 59463afc5666
children 15872534500d
line wrap: on
line diff
--- a/src/mule-wnnfns.c	Mon Aug 13 09:39:46 2007 +0200
+++ b/src/mule-wnnfns.c	Mon Aug 13 09:40:41 2007 +0200
@@ -291,8 +291,14 @@
 void w2y (w_char *w);
 void c2m (unsigned char *cp, unsigned char *mp, unsigned char lb);
 static void puts2 (char *s);
+static int dai_end (int no, int server);
 static int yes_or_no (unsigned char *s);
 
+ /* Why doesn't wnn have a prototype for these? */
+typedef unsigned int letter;
+int cwnn_yincod_pzy(w_char *, w_char, int);
+int cwnn_pzy_yincod(letter *, letter *, int);
+
 static struct wnn_buf *wnnfns_buf[NSERVER];
 static struct wnn_env *wnnfns_env_norm[NSERVER];
 static struct wnn_env *wnnfns_env_rev[NSERVER];
@@ -350,12 +356,12 @@
       strcpy (langname, "ko_KR");
       break;
     }
-  strncpy (envname, XSTRING (lname)->_data, 32);
-  if (EQ(hname, Qnil)) strcpy (hostname, "");
+  strncpy (envname, (char *) XSTRING_DATA (lname), 32);
+  if (NILP (hname)) strcpy (hostname, "");
   else
     {
       CHECK_STRING (hname);
-      strncpy (hostname, XSTRING (hname)->_data, 32);
+      strncpy (hostname, (char *) XSTRING_DATA (hname), 32);
     }
   CHECK_STRING (lname);
   /* 97/4/16 jhod@po.iijnet.or.jp
@@ -496,12 +502,15 @@
     {
       dicinfo--;
       w2m (dicinfo->comment, comment, lb);
-      val = Fcons (Fcons (make_int (dicinfo->dic_no),
-			  list4 (make_string (dicinfo->fname, strlen
-					      (dicinfo->fname)),
-				 make_string (comment, strlen (comment)),
-				 make_int (dicinfo->gosuu),
-				 make_int (dicinfo->nice))), val);
+      /* #### The following has not been Mule-ized!!
+         fname and comment must be ASCII strings! */
+      val =
+	Fcons (Fcons (make_int (dicinfo->dic_no),
+		      list4 (make_string ((Bufbyte *) (dicinfo->fname),
+					  strlen (dicinfo->fname)),
+			     make_string (comment, strlen ((char *) comment)),
+			     make_int (dicinfo->gosuu),
+			     make_int (dicinfo->nice))), val);
     }
   return val;
 }
@@ -512,8 +521,8 @@
 */ 
      (dicno, comment))
 {
-  w_char		wbuf[512];
-  int	snum;
+  w_char wbuf[512];
+  int snum;
   CHECK_INT (dicno);
   CHECK_STRING (comment);
   if ((snum = check_wnn_server_type ()) == -1) return Qnil;
@@ -534,13 +543,13 @@
   if ((snum = check_wnn_server_type ()) == -1) return Qnil;
   if (EQ(rev, Qnil))
     {
-      if ((!wnnfns_buf[snum]) || (!wnnfns_env_norm[snum])) return;
+      if ((!wnnfns_buf[snum]) || (!wnnfns_env_norm[snum])) return Qnil;
       jl_env_set (wnnfns_buf[snum], wnnfns_env_norm[snum]);
       wnnfns_norm = 1;
     }
   else
     {
-      if ((!wnnfns_buf[snum]) || (!wnnfns_env_rev[snum])) return;
+      if ((!wnnfns_buf[snum]) || (!wnnfns_env_rev[snum])) return Qnil;
       jl_env_set (wnnfns_buf[snum], wnnfns_env_rev[snum]);
       wnnfns_norm = 0;
     }
@@ -618,7 +627,7 @@
   if (!wnnfns_buf[snum]) return Qnil;
   jl_get_zenkouho_kanji (wnnfns_buf[snum], XINT (kouhoNo), wbuf);
   w2m (wbuf, kanji_buf, lb);
-  return make_string (kanji_buf, strlen (kanji_buf));
+  return make_string (kanji_buf, strlen ((char *) kanji_buf));
 }
 
 DEFUN ("wnn-server-zenkouho-bun", Fwnn_zenkouho_bun, 0, 0, 0, /*
@@ -743,10 +752,10 @@
   for (i = yomilen; i >= jirilen; i--) wbuf[i+1] = wbuf[i];
   wbuf[jirilen] = '+';
   w2m (wbuf, cbuf, lb);
-  val = Fcons (make_string (cbuf, strlen (cbuf)), val);
+  val = Fcons (make_string (cbuf, strlen ((char *) cbuf)), val);
   jl_get_kanji (wnnfns_buf[snum], bun_no, bun_no + 1, wbuf);
   w2m (wbuf, cbuf, lb);
-  val = Fcons (make_string (cbuf, strlen (cbuf)), val);
+  val = Fcons (make_string (cbuf, strlen ((char *) cbuf)), val);
   return val;
 }
 
@@ -780,7 +789,7 @@
   no = XINT (bunNo);
   kanji_len = jl_get_kanji (wnnfns_buf[snum], no, no + 1, wbuf);
   w2m (wbuf, kanji_buf, lb);
-  return Fcons (make_string (kanji_buf, strlen (kanji_buf)),
+  return Fcons (make_string (kanji_buf, strlen ((char *) kanji_buf)),
 		make_int (kanji_len));
 }
 
@@ -802,7 +811,7 @@
   no = XINT (bunNo);
   yomi_len = jl_get_yomi (wnnfns_buf[snum], no, no + 1, wbuf);
   w2m (wbuf, yomi_buf, lb);
-  return Fcons (make_string (yomi_buf, strlen (yomi_buf)),
+  return Fcons (make_string (yomi_buf, strlen ((char *) yomi_buf)),
 		make_int (yomi_len));
 }
 
@@ -926,11 +935,11 @@
       val = Fcons (make_int (info_buf->hinshi), val);
       val = Fcons (make_int (info_buf->hindo), val);
       w2m (info_buf->com, cbuf, lb);
-      val = Fcons (make_string (cbuf, strlen (cbuf)), val);
+      val = Fcons (make_string (cbuf, strlen ((char *) cbuf)), val);
       w2m (info_buf->kanji, cbuf, lb);
-      val = Fcons (make_string (cbuf, strlen (cbuf)), val);
+      val = Fcons (make_string (cbuf, strlen ((char *) cbuf)), val);
       w2m (info_buf->yomi, cbuf, lb);
-      val = Fcons (make_string (cbuf, strlen (cbuf)), val);
+      val = Fcons (make_string (cbuf, strlen ((char *) cbuf)), val);
       return val;
     }
 }
@@ -986,7 +995,7 @@
     {
       wordinfo--;
       w2m (wordinfo->kanji, kanji_buf, lb);
-      val = Fcons (Fcons (make_string (kanji_buf, strlen (kanji_buf)),
+      val = Fcons (Fcons (make_string (kanji_buf, strlen ((char *) kanji_buf)),
 			  list4 (make_int (wordinfo->hinshi),
 				 make_int (wordinfo->hindo),
 				 make_int (wordinfo->dic_no),
@@ -1116,7 +1125,7 @@
 */
      ())
 {
-  char mbuf[256];
+  unsigned char mbuf[256];
   char 			*msgp;
   int			snum;
   unsigned char		lb;
@@ -1144,8 +1153,8 @@
   if (!wnnfns_buf[snum]) return Qnil;
 /*  msgp = msg_get (wnn_msg_cat, XINT (errno), 0, 0);*/
   msgp = wnn_perror_lang (langname);
-  c2m (msgp, mbuf, lb);
-  return make_string (mbuf, strlen (mbuf));
+  c2m ((unsigned char *) msgp, mbuf, lb);
+  return make_string (mbuf, strlen ((char *) mbuf));
 }
 
 
@@ -1173,7 +1182,7 @@
   if ((snum = check_wnn_server_type ()) == -1) return Qnil;
   if (!wnnfns_buf[snum]) return Qnil;
   if (jl_fuzokugo_get (wnnfns_buf[snum], fname) < 0) return Qnil;
-  return make_string (fname, strlen (fname));
+  return make_string ((Bufbyte *) fname, strlen (fname));
 }
 
 
@@ -1238,7 +1247,7 @@
     {
       area--;
       w2m (*area, cbuf, lb);
-      val = Fcons (make_string (cbuf, strlen (cbuf)), val);
+      val = Fcons (make_string (cbuf, strlen ((char *) cbuf)), val);
     }
   return val;
 }
@@ -1258,7 +1267,7 @@
   if (!wnnfns_buf[snum]) return Qnil;
   if ((wname = jl_hinsi_name (wnnfns_buf[snum], XINT (no))) == 0) return Qnil;
   w2m (wname, name, lb);
-  return make_string (name, strlen (name));
+  return make_string (name, strlen ((char *) name));
 }
 #ifdef	WNN6
 DEFUN ("wnn-server-fisys-dict-add", Fwnn_fisys_dict_add, 3, MANY, 0, /*
@@ -2004,8 +2013,8 @@
 void
 w2y (w_char *w)
 {
-  unsigned long		pbuf[5000], ybuf[5000];
-  unsigned long		*pin;
+  letter		pbuf[5000], ybuf[5000];
+  unsigned int		*pin;
   w_char *y;
   int len;
 
@@ -2049,7 +2058,7 @@
   *mp = 0;
 }
 
-int
+static int
 dai_end (int no, int server)
 {
   for (no++; no < jl_bun_suu (wnnfns_buf[server])