From 92edabb7765613f4027947140d4e93473a7c766d Mon Sep 17 00:00:00 2001 From: "petersont@google.com" Date: Thu, 13 Nov 2008 20:13:28 +0000 Subject: Reordered some logic to fix a bug which caused the clearing of the database to malfunction. Review URL: http://codereview.chromium.org/10862 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5365 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/webdata/web_database.cc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'chrome/browser/webdata') diff --git a/chrome/browser/webdata/web_database.cc b/chrome/browser/webdata/web_database.cc index 28e7b08..f17efd1 100644 --- a/chrome/browser/webdata/web_database.cc +++ b/chrome/browser/webdata/web_database.cc @@ -1141,7 +1141,7 @@ bool WebDatabase::RemoveFormElementsAddedBetween(const Time delete_begin, for (std::vector::iterator itr = pair_ids.begin(); itr != pair_ids.end(); itr++) { - int how_many=0; + int how_many = 0; if (!RemovePairIDAndDate(*itr, delete_begin, delete_end, &how_many)) return false; if (!AddToCountOfFormElement(*itr, -how_many)) @@ -1175,12 +1175,14 @@ bool WebDatabase::RemovePairIDAndDate(int64 pair_id, const Time delete_begin, bool WebDatabase::AddToCountOfFormElement(int64 pair_id, int delta) { int count=0; - if (count+delta == 0 && - !RemoveFormElement(pair_id)) { + + if (!GetCountOfFormElement(pair_id, &count)) return false; - } else { - if (!GetCountOfFormElement(pair_id, &count)) + + if (count + delta == 0) { + if (!RemoveFormElement(pair_id)) return false; + } else { if (!SetCountOfFormElement(pair_id, count + delta)) return false; } -- cgit v1.1