From d835872ca31186eb743d23e6ac51e4b86bfb023d Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Mon, 17 Jun 2013 14:25:05 +0800 Subject: fixes pinyin_save --- src/pinyin.cpp | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/src/pinyin.cpp b/src/pinyin.cpp index 4bfb3f2..95215ae 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -537,7 +537,12 @@ bool pinyin_save(pinyin_context_t * context){ gchar * chunkpathname = g_build_filename(context->m_user_dir, userfilename, NULL); log->save(tmppathname); - rename(tmppathname, chunkpathname); + + int result = rename(tmppathname, chunkpathname); + if (0 != result) + fprintf(stderr, "rename %s to %s failed.\n", + tmppathname, chunkpathname); + g_free(chunkpathname); g_free(tmppathname); delete log; @@ -558,7 +563,12 @@ bool pinyin_save(pinyin_context_t * context){ userfilename, NULL); chunk->save(tmppathname); - rename(tmppathname, chunkpathname); + + int result = rename(tmppathname, chunkpathname); + if (0 != result) + fprintf(stderr, "rename %s to %s failed.\n", + tmppathname, chunkpathname); + g_free(chunkpathname); g_free(tmppathname); delete chunk; @@ -576,7 +586,12 @@ bool pinyin_save(pinyin_context_t * context){ context->m_pinyin_table->store(chunk); chunk->save(tmpfilename); delete chunk; - rename(tmpfilename, filename); + + int result = rename(tmpfilename, filename); + if (0 != result) + fprintf(stderr, "rename %s to %s failed.\n", + tmpfilename, filename); + g_free(tmpfilename); g_free(filename); @@ -591,7 +606,12 @@ bool pinyin_save(pinyin_context_t * context){ context->m_phrase_table->store(chunk); chunk->save(tmpfilename); delete chunk; - rename(tmpfilename, filename); + + result = rename(tmpfilename, filename); + if (0 != result) + fprintf(stderr, "rename %s to %s failed.\n", + tmpfilename, filename); + g_free(tmpfilename); g_free(filename); @@ -601,7 +621,12 @@ bool pinyin_save(pinyin_context_t * context){ unlink(tmpfilename); filename = g_build_filename(context->m_user_dir, USER_BIGRAM, NULL); context->m_user_bigram->save_db(tmpfilename); - rename(tmpfilename, filename); + + result = rename(tmpfilename, filename); + if (0 != result) + fprintf(stderr, "rename %s to %s failed.\n", + tmpfilename, filename); + g_free(tmpfilename); g_free(filename); -- cgit