Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa4ebf2c authored by Andrei Homescu's avatar Andrei Homescu
Browse files

Fix Errors.h on systems that define NO_ERROR

Some systems (originally only Windows) define their own
NO_ERROR macro that overlaps with the enumerator from Errors.h.
The enumerator is only defined if the macro was not.

Bug: 224644083
Test: m
Change-Id: Iee0932b5259b3bfcf6494656b27e6e7488319f5c
parent 5c15de21
Loading
Loading
Loading
Loading
+4 −12
Original line number Diff line number Diff line
@@ -34,15 +34,13 @@ typedef int32_t status_t;
 * All error codes are negative values.
 */

// Win32 #defines NO_ERROR as well.  It has the same value, so there's no
// real conflict, though it's a bit awkward.
#ifdef _WIN32
# undef NO_ERROR
#endif

enum {
    OK                = 0,    // Preferred constant for checking success.
#ifndef NO_ERROR
    // Win32 #defines NO_ERROR as well.  It has the same value, so there's no
    // real conflict, though it's a bit awkward.
    NO_ERROR          = OK,   // Deprecated synonym for `OK`. Prefer `OK` because it doesn't conflict with Windows.
#endif

    UNKNOWN_ERROR       = (-2147483647-1), // INT32_MIN value

@@ -76,10 +74,4 @@ enum {
// Human readable name of error
std::string statusToString(status_t status);

// Restore define; enumeration is in "android" namespace, so the value defined
// there won't work for Win32 code in a different namespace.
#ifdef _WIN32
# define NO_ERROR 0L
#endif

}  // namespace android