#elif defined(SILC_WIN32)
/* Windows */
- return InterlockedCompareExchangePointer(&atomic->value, n, o) == o;
+ return InterlockedCompareExchangePointer(&atomic->value, new_val, old_val)
+ == old_val;
#elif defined(__GNUC__) && defined(SILC_I486)
/* GCC + i486 */