From 910e40f128c7a7030f22c6f209e31688918fb56e Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 3 Mar 2013 13:17:49 +0900 Subject: [PATCH] Fix missing value in serialized pause option --- src/SessionSerializer.cc | 3 ++- test/SessionSerializerTest.cc | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/SessionSerializer.cc b/src/SessionSerializer.cc index 6c4832f5..3f95ed53 100644 --- a/src/SessionSerializer.cc +++ b/src/SessionSerializer.cc @@ -281,7 +281,8 @@ bool SessionSerializer::save(BufferedFile& fp) const // PREF_PAUSE was removed from option, so save it here looking // property separately. if(rg->isPauseRequested()) { - if (fp.write(" ", 1) != 1 || fp.write(PREF_PAUSE->k) == 0 || fp.write("\n", 1) != 1) { + if (fp.write(" ", 1) != 1 || fp.write(PREF_PAUSE->k) == 0 || + fp.write("=true\n", 6) != 6) { return false; } } diff --git a/test/SessionSerializerTest.cc b/test/SessionSerializerTest.cc index f69860f5..e9da45f6 100644 --- a/test/SessionSerializerTest.cc +++ b/test/SessionSerializerTest.cc @@ -45,6 +45,7 @@ void SessionSerializerTest::testSave() option->put(PREF_DIR, "/tmp"); createRequestGroupForUri(result, option, uris); CPPUNIT_ASSERT_EQUAL((size_t)5, result.size()); + result[4]->getOption()->put(PREF_PAUSE, A2_V_TRUE); option->put(PREF_MAX_DOWNLOAD_RESULT, "10"); SharedHandle rgman (new RequestGroupMan(result, 1, option.get())); @@ -116,6 +117,8 @@ void SessionSerializerTest::testSave() std::getline(ss, line); CPPUNIT_ASSERT_EQUAL(std::string(" dir=/tmp"), line); std::getline(ss, line); + CPPUNIT_ASSERT_EQUAL(std::string(" pause=true"), line); + std::getline(ss, line); CPPUNIT_ASSERT(!ss); #endif // defined(ENABLE_BITTORRENT) && defined(ENABLE_METALINK) }