pkgsrc/textproc/kakasi/patches/patch-ac

59 lines
1.5 KiB
Text

$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 <malloc.h>
#endif
+#ifdef HAVE_STRING_H
+# include <string.h>
+#endif
#include <stdlib.h>
#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