summaryrefslogtreecommitdiff
path: root/libraries/libchewing/libchewing-rev1048.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/libchewing/libchewing-rev1048.patch')
-rw-r--r--libraries/libchewing/libchewing-rev1048.patch235
1 files changed, 0 insertions, 235 deletions
diff --git a/libraries/libchewing/libchewing-rev1048.patch b/libraries/libchewing/libchewing-rev1048.patch
deleted file mode 100644
index 1a2b10bdf1..0000000000
--- a/libraries/libchewing/libchewing-rev1048.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-Index: test/randkeystroke.c
-===================================================================
---- test/randkeystroke.c (revision 1038)
-+++ test/randkeystroke.c (revision 1048)
-@@ -46,6 +46,7 @@
- printf( "usage: randkeystroke [-r] [-n num] [-h]\n" \
- "\t -r - total random\n" \
- "\t -n num - generate num keystrokes\n"
-+ "\t -s seed - random seed\n"
- "\t -h - help\n" );
- }
-
-@@ -63,6 +64,9 @@
- nk = atoi( argv[i] );
- } else if ( ! strcmp( argv[i], "-r" ) ) {
- total_random = 1;
-+ } else if ( ! strcmp( argv[i], "-s" ) ) {
-+ if ( ++i < argc )
-+ srand( atoi( argv[i] ) );
- } else if ( ! strcmp( argv[i], "-h" ) ) {
- usage();
- return 0;
-@@ -71,7 +75,7 @@
- if (total_random) {
- for ( i = 0; i < nk; i++ ) {
- n = rand() % (n_nkeys + n_okeys);
-- if ( n > n_nkeys )
-+ if ( n >= n_nkeys )
- printf( "%s", other_keys[n - n_nkeys] );
- else
- printf( "%c", normal_keys[n] );
-@@ -97,4 +101,5 @@
- return 0;
- }
-
--/* vim: noet */
-+/* vim: noet
-+ */
-Index: python/chewing.py
-===================================================================
---- python/chewing.py (revision 1038)
-+++ python/chewing.py (revision 1048)
-@@ -2,9 +2,11 @@
- from functools import partial
-
- _libchewing = CDLL('libchewing.so.3')
--_libchewing.chewing_handle_Default.argtypes = [c_void_p, c_char]
- _libchewing.chewing_commit_String.restype = c_char_p
- _libchewing.chewing_buffer_String.restype = c_char_p
-+_libchewing.chewing_cand_String.restype = c_char_p
-+_libchewing.chewing_zuin_String.restype = c_char_p
-+_libchewing.chewing_aux_String.restype = c_char_p
-
- def Init(datadir, userdir):
- return _libchewing.chewing_Init(datadir, userdir)
-Index: src/tree.c
-===================================================================
---- src/tree.c (revision 1038)
-+++ src/tree.c (revision 1048)
-@@ -285,25 +285,16 @@
- for ( i = begin; i <= end; i++ ) {
- for (
- child = tree[ tree_p ].child_begin;
-- child <= tree[ tree_p ].child_end;
-+ child != -1 && child <= tree[ tree_p ].child_end;
- child++ ) {
--#ifdef USE_BINARY_DATA
-- /**
-- * This is a workaround to prevent access violation.
-- *
-- * Sometimes, child < 0 and tree[ child ] refer to an invalid
-- * address for unknown reason.This could be a bug of libchewing.
-- * This serious bug was discovered by seamxr.
-- */
-- if ( child < 0 || child * sizeof(TreeType) > tree_size )
-- return -1;
--#endif
-
-+ assert(0 <= child && child * sizeof(TreeType) < tree_size);
-+
- if ( tree[ child ].phone_id == phoneSeq[ i ] )
- break;
- }
- /* if not found any word then fail. */
-- if ( child > tree[ tree_p ].child_end )
-+ if ( child == -1 || child > tree[ tree_p ].child_end )
- return -1;
- else {
- tree_p = child;
-Index: src/mod_aux.c
-===================================================================
---- src/mod_aux.c (revision 1038)
-+++ src/mod_aux.c (revision 1048)
-@@ -90,7 +90,7 @@
- if ( ctx->output->zuinBuf[ i ].s[ 0 ] != '\0' ) {
- strcat( s, (char *) (ctx->output->zuinBuf[ i ].s) );
- if ( zuin_count )
-- *zuin_count++;
-+ (*zuin_count)++;
- }
- }
- return s;
-Index: scripts/gen-tabe-diff.sh
-===================================================================
---- scripts/gen-tabe-diff.sh (revision 1038)
-+++ scripts/gen-tabe-diff.sh (revision 1048)
-@@ -1,19 +0,0 @@
--#!/bin/sh
--
--if [ ! -f scripts/gen-tabe-diff.sh ]; then
-- echo -e "\033[44;37m You *MUST* run this script in top dir. \033[m"
-- exit
--fi
--
--if [ ! -f data/tabe-tsi.src ]; then
-- echo -e "\033[44;37m tabe-tsi.src not found. Try to generate. \033[m"
-- sh ./scripts/cvsup-tsi-src.sh
--fi
--
--# compare
--sort data/tsi.src | cut --delimiter=' ' -f1 > /tmp/orig-tsi
--sort data/tabe-tsi.src | cut --delimiter=' ' -f1 > /tmp/tabe-tsi
--diff -u /tmp/orig-tsi /tmp/tabe-tsi > tabe-tsi.diff
--rm -f /tmp/orig-tsi /tmp/tabe-tsi
--
--echo -e "\033[44;37m Please check out tabe-tsi.diff \033[m"
-Index: scripts/tsi-chewing.diff
-===================================================================
---- scripts/tsi-chewing.diff (revision 1038)
-+++ scripts/tsi-chewing.diff (revision 1048)
-@@ -1,51 +0,0 @@
----- tsidump.c 2004-05-12 23:30:19.000000000 +0800
--+++ tsidump-chewing.c 2004-05-12 23:29:12.000000000 +0800
--@@ -65,32 +65,23 @@
-- }
-- i++;
-- len = strlen((char *)tsi->tsi)/2;
--- fprintf(fp, "%s", tsi->tsi);
--- if (ref) {
--- fprintf(fp, " %ld", tsi->refcount);
--- }
-- if (tsiyin) {
-- ZuYinSymbolSequence zs = NULL;
--- int begin = 0;
--
--- fprintf(fp, " ");
-- for (j = 0; j < tsi->yinnum; j++) {
--+ if (len > 7)
--+ continue;
--+ fprintf(fp, "%s %ld\t", tsi->tsi, tsi->refcount);
-- for (k = 0; k < len; k++) {
-- zs = tabeYinToZuYinSymbolSequence(tsi->yindata[j*len+k]);
-- if (zs) {
--- if (begin) {
--- fprintf(fp, "¡@");
--- }
--- else {
--- begin = 1;
--- }
--- fprintf(fp, "%s", zs);
--+ fprintf(fp, "%s ", zs);
-- free(zs);
-- }
-- }
--+ fprintf(fp, "\n");
-- }
-- }
--- fprintf(fp, "\n");
-- }
--
-- db->Close(db);
--@@ -109,8 +100,8 @@
-- char *db_name, *op_name;
--
-- db_name = op_name = (char *)NULL;
--- ref = 0;
--- tsiyin = 0;
--+ ref = 1;
--+ tsiyin = 1;
--
-- while ((ch = getopt(argc, argv, "d:f:ry")) != -1) {
-- switch(ch) {
-Index: scripts/cvsup-tsi-src.sh
-===================================================================
---- scripts/cvsup-tsi-src.sh (revision 1038)
-+++ scripts/cvsup-tsi-src.sh (revision 1048)
-@@ -1,48 +0,0 @@
--#!/bin/sh
--
--TOP=`pwd`
--TABE_TSI=$TOP/data/tabe-tsi.src
--
--if [ ! -f scripts/cvsup-tsi-src.sh ]; then
-- echo -e "\033[44;37m You *MUST* run this script in top dir. \033[m"
-- exit
--fi
--if [ -f $TABE_TSI ]; then
-- echo -e "\033[44;37m tabe-tsi.src done. \033[m"
-- exit
--fi
--
--if [ ! -d libtabe ]; then
-- echo -e "\033[44;37m No libtabe found. cvs check from libtabe \033[m"
-- cvs -z9 -d :pserver:xcin@xcin.linux.org.tw:/home/service/cvsroot/xcin \
-- checkout libtabe
--fi
--
--if [ ! -d libtabe ]; then
-- echo -e "\033[44;37m There were some problems while checking out. \033[m"
-- exit
--fi
--
--pushd libtabe
--./configure
--if [ -f Makefile ]; then
-- make clean all
--
-- # patch tsidump to adapt Chewing
-- pushd util
-- if [ ! -f PATCHED ]; then
-- patch -p0 < $TOP/scripts/tsi-chewing.diff
-- touch PATCHED
-- fi
-- make
--
-- # generation
-- if [ -f tsidump ]; then
-- ./tsidump -d ../tsi-src/tsi.db > $TABE_TSI
-- fi
-- popd
--fi
--popd
--
--rm -rf libtabe
--