Hiroyuki Ikezoe
ikezo****@users*****
Mon Dec 4 11:50:53 JST 2006
Index: kazehakase/module/search/kz-search-hyper-estraier.c diff -u kazehakase/module/search/kz-search-hyper-estraier.c:1.7 kazehakase/module/search/kz-search-hyper-estraier.c:1.8 --- kazehakase/module/search/kz-search-hyper-estraier.c:1.7 Mon Dec 4 11:23:33 2006 +++ kazehakase/module/search/kz-search-hyper-estraier.c Mon Dec 4 11:50:53 2006 @@ -28,7 +28,7 @@ #include "kz-search-hyper-estraier.h" #include "egg-pixbuf-thumbnail.h" -#define HISTORY_INDEX "/."PACKAGE"/history_index.hest" +#define HISTORY_INDEX "history_index.hest" #define HYPER_ESTRAIERRAIER_URI "http://hyperestraier.sourceforge.net/" #define DTD "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">" @@ -57,6 +57,7 @@ struct _KzSearchHyperEstraierPrivate { ESTDB *db; + gchar *dbname; }; typedef struct _KzSearchHyperEstraierClass KzSearchHyperEstraierClass; @@ -185,6 +186,7 @@ KzSearchHyperEstraierPrivate *priv = KZ_SEARCH_HYPER_ESTRAIER_GET_PRIVATE(search); priv->db = NULL; + priv->dbname = g_build_filename (g_get_home_dir(), "."PACKAGE, HISTORY_INDEX, NULL); } static GObject * @@ -219,7 +221,13 @@ if (!ret) g_warning("error: %s", est_err_msg(ecode)); } + if (priv->dbname) + { + g_free(priv->dbname); + } + priv->db = NULL; + priv->dbname = NULL; if (G_OBJECT_CLASS(parent_class)->dispose) G_OBJECT_CLASS(parent_class)->dispose(object); @@ -233,21 +241,20 @@ } static gchar * -create_search_result_html (const gchar *text) +create_search_result_html (KzSearch *search, const gchar *text) { ESTDB *db; ESTCOND *cond; - gchar *dbname, *dirname; + gchar *dirname; int ecode, *results, n_results, i, ret; gchar *except_word, *tmp; gchar **texts; GString *html, *phrase; gint num_summary = 128, max_results = 20, half_of_summary; size_t len; + KzSearchHyperEstraierPrivate *priv = KZ_SEARCH_HYPER_ESTRAIER_GET_PRIVATE(search); - dbname = g_strdup_printf("%s%s", g_get_home_dir(), HISTORY_INDEX); - db = est_db_open(dbname, ESTDBREADER, &ecode); - g_free(dbname); + db = est_db_open(priv->dbname, ESTDBREADER, &ecode); if (!db) { g_warning("error: %s", est_err_msg(ecode)); @@ -358,7 +365,7 @@ { if (!text) return NULL; - return create_search_result_html(text); + return create_search_result_html(search, text); } gboolean @@ -367,12 +374,11 @@ ESTDB *db; ESTDOC *doc; int ret, ecode, success; - gchar *dbname, *time_str; + gchar *time_str; gchar *filename; + KzSearchHyperEstraierPrivate *priv = KZ_SEARCH_HYPER_ESTRAIER_GET_PRIVATE(search); - dbname = g_strdup_printf("%s%s", g_get_home_dir(), HISTORY_INDEX); - db = est_db_open(dbname, ESTDBWRITER | ESTDBCREAT, &ecode); - g_free(dbname); + db = est_db_open(priv->dbname, ESTDBWRITER | ESTDBCREAT, &ecode); if (!db) { g_warning("db open error: %s", est_err_msg(ecode)); @@ -422,11 +428,9 @@ { ESTDB *db; int id, ret, ecode, success; - gchar *dbname; + KzSearchHyperEstraierPrivate *priv = KZ_SEARCH_HYPER_ESTRAIER_GET_PRIVATE(search); - dbname = g_strdup_printf("%s%s", g_get_home_dir(), HISTORY_INDEX); - db = est_db_open(dbname, ESTDBREADER, &ecode); - g_free(dbname); + db = est_db_open(priv->dbname, ESTDBREADER, &ecode); if (!db) { g_warning("error: %s", est_err_msg(ecode)); @@ -466,11 +470,9 @@ { ESTDB *db; int ret, ecode; - gchar *dbname; + KzSearchHyperEstraierPrivate *priv = KZ_SEARCH_HYPER_ESTRAIER_GET_PRIVATE(search); - dbname = g_strdup_printf("%s%s", g_get_home_dir(), HISTORY_INDEX); - db = est_db_open(dbname, ESTDBREADER, &ecode); - g_free(dbname); + db = est_db_open(priv->dbname, ESTDBREADER, &ecode); if (!db) { g_warning("error: %s", est_err_msg(ecode)); @@ -534,13 +536,10 @@ static gboolean exist_index_dir(KzSearch *search) { - gchar *index_dir; gboolean exist = FALSE; + KzSearchHyperEstraierPrivate *priv = KZ_SEARCH_HYPER_ESTRAIER_GET_PRIVATE(search); - index_dir = g_build_filename(g_get_home_dir(), - HISTORY_INDEX, NULL); - exist = g_file_test(index_dir, G_FILE_TEST_IS_DIR); - g_free(index_dir); + exist = g_file_test(priv->dbname, G_FILE_TEST_IS_DIR); return exist; }