diff options
author | Peng Wu <alexepico@gmail.com> | 2012-03-12 13:55:53 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-03-12 14:08:53 +0800 |
commit | e939e37b1a48302b9bf2c44d403b907f3f42e118 (patch) | |
tree | 61ffc03398064bbe1a3c4d61b0b2ecb80e41401a | |
parent | 808790b8b30471c3c52cc8bc0bd7de0230c0547f (diff) | |
download | libpinyin-e939e37b1a48302b9bf2c44d403b907f3f42e118.tar.gz libpinyin-e939e37b1a48302b9bf2c44d403b907f3f42e118.tar.xz libpinyin-e939e37b1a48302b9bf2c44d403b907f3f42e118.zip |
improves pinyin_save
-rw-r--r-- | src/pinyin.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp index e1ec93e..4ede459 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -215,8 +215,12 @@ bool pinyin_save(pinyin_context_t * context){ g_free(filename); delete newlog; + gchar * tmpfilename = g_build_filename(context->m_user_dir, + "user.db.tmp", NULL); filename = g_build_filename(context->m_user_dir, "user.db", NULL); - context->m_user_bigram->save_db(filename); + context->m_user_bigram->save_db(tmpfilename); + rename(tmpfilename, filename); + g_free(tmpfilename); g_free(filename); mark_version(context->m_user_dir); |