Avi Drissman | e4622aa | 2022-09-08 20:36:06 | [diff] [blame] | 1 | // Copyright 2018 The Chromium Authors |
Etienne Pierre-Doray | d120ebf | 2018-09-14 23:38:21 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #include "base/scoped_clear_last_error.h" |
| 6 | |
| 7 | #include <windows.h> |
| 8 | |
| 9 | namespace base { |
Etienne Pierre-Doray | d120ebf | 2018-09-14 23:38:21 | [diff] [blame] | 10 | |
| 11 | ScopedClearLastError::ScopedClearLastError() |
Joshua Peraza | b427af26 | 2020-04-13 21:54:42 | [diff] [blame] | 12 | : ScopedClearLastErrorBase(), last_system_error_(GetLastError()) { |
| 13 | SetLastError(0); |
Etienne Pierre-Doray | d120ebf | 2018-09-14 23:38:21 | [diff] [blame] | 14 | } |
| 15 | |
| 16 | ScopedClearLastError::~ScopedClearLastError() { |
Joshua Peraza | b427af26 | 2020-04-13 21:54:42 | [diff] [blame] | 17 | SetLastError(last_system_error_); |
Etienne Pierre-Doray | d120ebf | 2018-09-14 23:38:21 | [diff] [blame] | 18 | } |
| 19 | |
Etienne Pierre-Doray | d120ebf | 2018-09-14 23:38:21 | [diff] [blame] | 20 | } // namespace base |