diff --git a/src/TDB.cpp b/src/TDB.cpp index 30000c6ce..4971a5c97 100644 --- a/src/TDB.cpp +++ b/src/TDB.cpp @@ -380,7 +380,9 @@ int TDB::commit () // Write out all pending. if (fseek (mLocations[0].pending, 0, SEEK_SET) == 0) { - (void)ftruncate (fileno (mLocations[0].pending), 0); + if (ftruncate (fileno (mLocations[0].pending), 0)) + throw std::string ("Failed to truncate pending.data file "); + foreach (task, allPending) fputs (task->composeF4 ().c_str (), mLocations[0].pending); } @@ -464,14 +466,18 @@ int TDB::gc () { if (fseek (tdb.mLocations[0].pending, 0, SEEK_SET) == 0) { - (void)ftruncate (fileno (tdb.mLocations[0].pending), 0); + if (ftruncate (fileno (tdb.mLocations[0].pending), 0)) + throw std::string ("Failed to truncate pending.data file "); + foreach (task, pending) fputs (task->composeF4 ().c_str (), tdb.mLocations[0].pending); } if (fseek (tdb.mLocations[0].completed, 0, SEEK_SET) == 0) { - (void)ftruncate (fileno (tdb.mLocations[0].completed), 0); + if (ftruncate (fileno (tdb.mLocations[0].completed), 0)) + throw std::string ("Failed to truncate completed.data file "); + foreach (task, completed) fputs (task->composeF4 ().c_str (), tdb.mLocations[0].completed); } diff --git a/src/edit.cpp b/src/edit.cpp index 41e353b58..ae977f5a3 100644 --- a/src/edit.cpp +++ b/src/edit.cpp @@ -557,8 +557,10 @@ std::string handleEdit () ARE_THESE_REALLY_HARMFUL: // Launch the editor. std::cout << "Launching '" << editor << "' now..." << std::endl; - (void)system (editor.c_str ()); - std::cout << "Editing complete." << std::endl; + if (-1 == system (editor.c_str ())) + std::cout << "No editing performed." << std::endl; + else + std::cout << "Editing complete." << std::endl; // Slurp file. std::string after;