Hiroyuki Ikezoe
ikezo****@users*****
Wed Dec 6 11:25:23 JST 2006
Index: kazehakase/module/search/kz-anthy-trainer.c diff -u kazehakase/module/search/kz-anthy-trainer.c:1.2 kazehakase/module/search/kz-anthy-trainer.c:1.3 --- kazehakase/module/search/kz-anthy-trainer.c:1.2 Wed Dec 6 11:04:51 2006 +++ kazehakase/module/search/kz-anthy-trainer.c Wed Dec 6 11:25:23 2006 @@ -68,7 +68,6 @@ /* KzSearch Class */ static gboolean register_document (KzSearch *search, const gchar *uri, - const gchar *encoding, const gchar *title, const gchar *contents, GTime mtime); @@ -208,7 +207,7 @@ gboolean -register_document (KzSearch *search, const gchar *uri, const gchar *encoding, const gchar *title, const gchar *contents, GTime mtime) +register_document (KzSearch *search, const gchar *uri, const gchar *title, const gchar *contents, GTime mtime) { KzAnthyTrainerPrivate *priv = KZ_ANTHY_TRAINER_GET_PRIVATE(search); mecab_node_t *node; Index: kazehakase/module/search/kz-search-hyper-estraier.c diff -u kazehakase/module/search/kz-search-hyper-estraier.c:1.14 kazehakase/module/search/kz-search-hyper-estraier.c:1.15 --- kazehakase/module/search/kz-search-hyper-estraier.c:1.14 Wed Dec 6 11:13:33 2006 +++ kazehakase/module/search/kz-search-hyper-estraier.c Wed Dec 6 11:25:23 2006 @@ -96,7 +96,6 @@ static KzBookmark *get_search_result_bookmark (KzSearch *search, const gchar *text); static gboolean register_document (KzSearch *search, const gchar *uri, - const gchar *encoding, const gchar *title, const gchar *contents, GTime mtime); @@ -260,7 +259,7 @@ db = est_db_open(priv->dbname, ESTDBREADER, &ecode); if (!db) { - g_warning("error: %s", est_err_msg(ecode)); + g_warning("db open error: %s", est_err_msg(ecode)); return NULL; } @@ -401,7 +400,6 @@ if (!end) break; encoding = g_strndup(p, end - p); - g_warning("%s", encoding); break; } @@ -409,13 +407,12 @@ } gboolean -register_document (KzSearch *search, const gchar *uri, const gchar *encoding, const gchar *title, const gchar *contents, GTime mtime) +register_document (KzSearch *search, const gchar *uri, const gchar *title, const gchar *contents, GTime mtime) { ESTDB *db; ESTDOC *doc; int ret, ecode, success; gchar *time_str, *filename, *text = NULL; - gchar *utf8 = NULL; gchar *tmp_filename, *tmp_path; KzSearchHyperEstraierPrivate *priv = KZ_SEARCH_HYPER_ESTRAIER_GET_PRIVATE(search); @@ -443,24 +440,7 @@ est_doc_add_attr(doc, ESTDATTRMDATE, time_str); g_free(time_str); - if (!encoding) - encoding = get_document_encoding(contents); - - if (encoding && strcmp(encoding, "UTF-8")) - { - utf8 = g_convert(contents, -1, - "UTF-8", encoding, - NULL, NULL, - NULL); - } - if (utf8) - { - text = html_to_text(utf8); - g_free(utf8); - } - else - text = html_to_text(contents); - + text = html_to_text(contents); if (text) { est_doc_add_text(doc, text); @@ -557,15 +537,32 @@ else { gchar *uri, *contents; + gchar *encoding; GTime mtime; struct stat st; + g_file_get_contents(new_path, &contents, NULL, NULL); g_stat(new_path, &st); mtime = st.st_mtime; - g_file_get_contents(new_path, &contents, NULL, NULL); uri = create_uri_from_filename(new_path + strlen("file://") + priv->cache_path_len); - kz_search_register_document(search, uri, NULL, NULL, contents, mtime); + + encoding = get_document_encoding(contents); + + if (encoding && strcmp(encoding, "UTF-8")) + { + gchar *utf8_contents; + utf8_contents = g_convert(contents, -1, + "UTF-8", encoding, + NULL, NULL, + NULL); + kz_search_register_document(search, uri, NULL, utf8_contents, mtime); + g_free(utf8_contents); + } + else + kz_search_register_document(search, uri, NULL, contents, mtime); + if (encoding) + g_free(encoding); g_free(uri); g_free(contents); }