$NetBSD: patch-ac,v 1.2 2003/10/20 22:24:34 kristerw Exp $ --- src/kakasi.c.orig Sun Sep 2 13:43:21 2001 +++ src/kakasi.c Tue Oct 21 00:11:03 2003 @@ -41,6 +41,9 @@ #ifdef HAVE_MALLOC_H # include #endif +#ifdef HAVE_STRING_H +# include +#endif #include #include "kakasi.h" #ifdef LIBRARY @@ -105,6 +108,12 @@ static int digest PARAMS((Character *c, int clen, Character *r, int rlen, int type, int (*proc)(void))); static void digest_shift PARAMS((Character *c, int s)); #else /* LIBRARY */ +void digest_start_copy PARAMS((Character *c, Character *r)); +void put_separator PARAMS((void)); +void putchars PARAMS((Character *results)); +void digest_out PARAMS((Character *c, int ret)); +int digest PARAMS((Character *c, int clen, Character *r, int rlen, int type, int (*proc)(void))); +void digest_shift PARAMS((Character *c, int s)); static void free_jisyo PARAMS((void)); #endif /* LIBRARY */ @@ -497,7 +506,7 @@ char * kakasi_do(str) - char *str; + unsigned char *str; { Character c[KAKASIBUF], r[KAKASIBUF]; int clen, ptype, pctype; @@ -559,7 +568,13 @@ } else if (c[0].c1 == 0xa5) { ptype = 5; } else if ((c[0].c1 == 0xa1) && (c[0].c2 == 0xbc)) { + if (pctype == 5) { ptype = 5; + } else if (pctype == 6) { + ptype = 6; + } else { + ptype = 5; + } } else { ptype = 4; } @@ -604,7 +619,7 @@ { char *ret = getpbstr(); if (ret == NULL) - return ""; + return strdup(""); return ret; } #endif