Files
mars-nwe/tests/nwnss/xstring/test_nwnss_xstring.c
Mario Fetka 810b6c9e61
All checks were successful
Source release / source-package (push) Successful in 2m17s
0579 nwnss: fix NSS memlset long-count semantics
2026-06-16 09:39:22 +02:00

49 lines
1.3 KiB
C

#include "library/xString.h"
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#define CHECK(expr) \
do { \
if (!(expr)) { \
fprintf(stderr, "CHECK failed at %s:%d: %s\n", __FILE__, __LINE__, #expr); \
return 1; \
} \
} while (0)
int main(void)
{
char buffer[32];
char overlap[16] = "abcdef";
uint32_t words[3] = {0, 0, 0};
CHECK(LB_stricmp("Mars", "mArS") == 0);
CHECK(LB_stricmp("abc", "ABD") < 0);
CHECK(LB_stricmp("ABZ", "aby") > 0);
CHECK(LB_strnicmp("NetWare", "net", 3) == 0);
CHECK(LB_memicmp("AbCd", "aBcD", 4) == 0);
CHECK(LB_memlset(words, 0x11223344L, 3) == words);
CHECK(words[0] == 0x11223344U);
CHECK(words[1] == 0x11223344U);
CHECK(words[2] == 0x11223344U);
CHECK(LB_strmcpy(buffer, "abcdef", 4) == buffer);
CHECK(strcmp(buffer, "abc") == 0);
strcpy(buffer, "Mars");
CHECK(LB_strlwr(buffer) == buffer);
CHECK(strcmp(buffer, "mars") == 0);
CHECK(LB_strupr(buffer) == buffer);
CHECK(strcmp(buffer, "MARS") == 0);
CHECK(LB_strrev(buffer) == buffer);
CHECK(strcmp(buffer, "SRAM") == 0);
CHECK(LB_strset(buffer, 'x') == buffer);
CHECK(strcmp(buffer, "xxxx") == 0);
CHECK(LB_memmove(overlap + 2, overlap, 4) == overlap + 2);
CHECK(memcmp(overlap, "ababcd", 6) == 0);
return 0;
}