Chromium Code Reviews| Index: chrome/browser/autofill/autofill_ie_toolbar_import_win.cc |
| =================================================================== |
| --- chrome/browser/autofill/autofill_ie_toolbar_import_win.cc (revision 70414) |
| +++ chrome/browser/autofill/autofill_ie_toolbar_import_win.cc (working copy) |
| @@ -57,12 +57,13 @@ |
| string16 ReadAndDecryptValue(RegKey* key, const wchar_t* value_name) { |
| DWORD data_type = REG_BINARY; |
| DWORD data_size = 0; |
| - if (!key->ReadValue(value_name, NULL, &data_size, &data_type) || |
| - !data_size || data_type != REG_BINARY) |
| + LONG result = key->ReadValue(value_name, NULL, &data_size, &data_type); |
|
brettw
2011/01/10 20:42:28
In other places you didn't introduce the extra var
amit
2011/01/12 04:11:23
My logic was to directly check for ERROR_SUCCESS i
grt (UTC plus 2)
2011/01/12 15:06:38
FWIW, I think I spent more time trying to figure o
|
| + if ((result != ERROR_SUCCESS) || !data_size || data_type != REG_BINARY) |
| return string16(); |
| std::vector<uint8> data; |
| data.resize(data_size); |
| - if (key->ReadValue(value_name, &(data[0]), &data_size, &data_type)) { |
| + result = key->ReadValue(value_name, &(data[0]), &data_size, &data_type); |
| + if (result == ERROR_SUCCESS) { |
| std::string out_data; |
| if (DecryptData(data, &out_data)) { |
| // The actual data is in UTF16 already. |
| @@ -125,7 +126,7 @@ |
| for (uint32 value_index = 0; value_index < key->ValueCount(); ++value_index) { |
| std::wstring value_name; |
| - if (!key->ReadName(value_index, &value_name)) |
| + if (key->ReadName(value_index, &value_name) != ERROR_SUCCESS) |
| continue; |
| RegToFieldMap::const_iterator it = reg_to_field.find(value_name); |
| if (it == reg_to_field.end()) |