Initial import
This commit is contained in:
36
third_party/duktape/duk_util_memory.c
vendored
Normal file
36
third_party/duktape/duk_util_memory.c
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Memory utils.
|
||||
*/
|
||||
|
||||
#include "third_party/duktape/duk_internal.h"
|
||||
|
||||
#if defined(DUK_USE_ALLOW_UNDEFINED_BEHAVIOR)
|
||||
DUK_INTERNAL DUK_INLINE duk_small_int_t duk_memcmp_unsafe(const void *s1, const void *s2, duk_size_t len) {
|
||||
DUK_ASSERT(s1 != NULL || len == 0U);
|
||||
DUK_ASSERT(s2 != NULL || len == 0U);
|
||||
return DUK_MEMCMP(s1, s2, (size_t) len);
|
||||
}
|
||||
|
||||
DUK_INTERNAL DUK_INLINE duk_small_int_t duk_memcmp(const void *s1, const void *s2, duk_size_t len) {
|
||||
DUK_ASSERT(s1 != NULL);
|
||||
DUK_ASSERT(s2 != NULL);
|
||||
return DUK_MEMCMP(s1, s2, (size_t) len);
|
||||
}
|
||||
#else /* DUK_USE_ALLOW_UNDEFINED_BEHAVIOR */
|
||||
DUK_INTERNAL DUK_INLINE duk_small_int_t duk_memcmp_unsafe(const void *s1, const void *s2, duk_size_t len) {
|
||||
DUK_ASSERT(s1 != NULL || len == 0U);
|
||||
DUK_ASSERT(s2 != NULL || len == 0U);
|
||||
if (DUK_UNLIKELY(len == 0U)) {
|
||||
return 0;
|
||||
}
|
||||
DUK_ASSERT(s1 != NULL);
|
||||
DUK_ASSERT(s2 != NULL);
|
||||
return duk_memcmp(s1, s2, len);
|
||||
}
|
||||
|
||||
DUK_INTERNAL DUK_INLINE duk_small_int_t duk_memcmp(const void *s1, const void *s2, duk_size_t len) {
|
||||
DUK_ASSERT(s1 != NULL);
|
||||
DUK_ASSERT(s2 != NULL);
|
||||
return DUK_MEMCMP(s1, s2, (size_t) len);
|
||||
}
|
||||
#endif /* DUK_USE_ALLOW_UNDEFINED_BEHAVIOR */
|
||||
Reference in New Issue
Block a user