[libpinyin] update patch

Peng Wu pwu at fedoraproject.org
Wed Jul 4 05:37:30 UTC 2012


commit 7cf0b7a5216e80f50558d071608a97cca2b4339d
Author: Peng Wu <alexepico at gmail.com>
Date:   Wed Jul 4 13:29:11 2012 +0800

    update patch

 libpinyin-0.7.x-head.patch |   59 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)
---
diff --git a/libpinyin-0.7.x-head.patch b/libpinyin-0.7.x-head.patch
index e69de29..c55f61a 100644
--- a/libpinyin-0.7.x-head.patch
+++ b/libpinyin-0.7.x-head.patch
@@ -0,0 +1,59 @@
+From f9f1575a983f184dd84b137d4b8d5ce3a35c063d Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Wed, 4 Jul 2012 13:21:42 +0800
+Subject: [PATCH] fixes _compute_phrase_strings_of_items
+
+---
+ src/pinyin.cpp |   14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/src/pinyin.cpp b/src/pinyin.cpp
+index 96c2d33..12a4b8d 100644
+--- a/src/pinyin.cpp
++++ b/src/pinyin.cpp
+@@ -918,6 +918,7 @@ static bool _prepend_sentence_candidate(pinyin_instance_t * instance,
+ }
+ 
+ static bool _compute_phrase_strings_of_items(pinyin_instance_t * instance,
++                                             size_t offset,
+                                              CandidateVector candidates) {
+     /* populate m_phrase_string in lookup_candidate_t. */
+ 
+@@ -926,9 +927,14 @@ static bool _compute_phrase_strings_of_items(pinyin_instance_t * instance,
+             (candidates, lookup_candidate_t, i);
+ 
+         switch(candidate->m_candidate_type) {
+-        case BEST_MATCH_CANDIDATE:
+-            pinyin_get_sentence(instance, &(candidate->m_phrase_string));
++        case BEST_MATCH_CANDIDATE: {
++            gchar * sentence = NULL;
++            pinyin_get_sentence(instance, &sentence);
++            candidate->m_phrase_string = g_strdup
++                (g_utf8_offset_to_pointer(sentence, offset));
++            g_free(sentence);
+             break;
++        }
+         case NORMAL_CANDIDATE:
+         case DIVIDED_CANDIDATE:
+         case RESPLIT_CANDIDATE:
+@@ -1133,7 +1139,7 @@ bool pinyin_get_candidates(pinyin_instance_t * instance,
+ 
+     _prepend_sentence_candidate(instance, candidates);
+ 
+-    _compute_phrase_strings_of_items(instance, candidates);
++    _compute_phrase_strings_of_items(instance, offset, candidates);
+ 
+     _remove_duplicated_items_by_phrase_string(instance, candidates);
+ 
+@@ -1507,7 +1513,7 @@ bool pinyin_get_full_pinyin_candidates(pinyin_instance_t * instance,
+ 
+     _prepend_sentence_candidate(instance, candidates);
+ 
+-    _compute_phrase_strings_of_items(instance, candidates);
++    _compute_phrase_strings_of_items(instance, offset, candidates);
+ 
+     _remove_duplicated_items_by_phrase_string(instance, candidates);
+ 
+-- 
+1.7.10.4
+


More information about the scm-commits mailing list