diff options
Diffstat (limited to 'librecrypt_concat_mem_.c')
| -rw-r--r-- | librecrypt_concat_mem_.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/librecrypt_concat_mem_.c b/librecrypt_concat_mem_.c index edc826a..296303e 100644 --- a/librecrypt_concat_mem_.c +++ b/librecrypt_concat_mem_.c @@ -12,10 +12,26 @@ extern inline void librecrypt_concat_mem_(struct concat_state *state, const char int main(void) { + char buf[5]; + struct concat_state state = {buf, sizeof(buf), 0u}; + SET_UP_ALARM(); INIT_RESOURCE_TEST(); - /* TODO test */ + memset(buf, 'x', sizeof(buf)); + + librecrypt_concat_mem_(&state, "abcdef", 6u); + assert(!memcmp(buf, "abcd\0", sizeof(buf))); + assert(state.buf == &buf[4u]); + assert(state.size == 1u); + assert(state.len == 6u); + librecrypt_concat_mem_(&state, "z", 1u); + assert(!memcmp(buf, "abcd\0", sizeof(buf))); + assert(state.len == 7u); + + state = (struct concat_state){NULL, 0u, 0u}; + librecrypt_concat_mem_(&state, "abc", 3u); + assert(state.len == 3u); STOP_RESOURCE_TEST(); return 0; |
