diff options
Diffstat (limited to 'rgo/src/memeq.c')
-rw-r--r-- | rgo/src/memeq.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/rgo/src/memeq.c b/rgo/src/memeq.c index 03ae2c2..d2d51a2 100644 --- a/rgo/src/memeq.c +++ b/rgo/src/memeq.c @@ -6,6 +6,10 @@ #include <rgo-priv.h> +#include <stdbool.h> +#include <stddef.h> +#include <stdint.h> + #if defined(rgo_priv_fastimpl) __asm__ ( ".global rgo_memeq\n" @@ -13,7 +17,7 @@ __asm__ ( "rgo_memeq:\n" /* void const * lptr - sus_typ_usz num + size_t num void const * rptr */ #if defined(sus_arch_amd64) @@ -96,11 +100,11 @@ __asm__ ( #endif ); #else -sus_typ_u8 rgo_memeq(void const * const sus_restr _lptr,sus_typ_usz const _num,void const * const sus_restr _rptr) { - sus_typ_u8 const * lpos = (sus_typ_u8 const *)_lptr; - sus_typ_u8 const * sus_restr rpos = (sus_typ_u8 const *)_rptr; - sus_typ_u8 const * const afterbuf = lpos + _num; - for (;lpos != afterbuf;++lpos,++rpos) {sus_likely (*lpos != *rpos) {return sus_typlit_u8(0x0);}} - return sus_typlit_u8(0x1); +bool rgo_memeq(void const * const _lptr,size_t const _num,void const * const _rptr) { + uint_least8_t const * lpos = (uint_least8_t const *)_lptr; + uint_least8_t const * rpos = (uint_least8_t const *)_rptr; + uint_least8_t const * const afterbuf = lpos + _num; + for (;lpos != afterbuf;++lpos,++rpos) {sus_likely (*lpos != *rpos) {return false;}} + return true; } #endif |