From d77ab463184d113ca6119403887c9f4ed0dfdf0b Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 26 Apr 2026 22:36:47 +0200 Subject: First commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- librecrypt_decompose_chain1.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 librecrypt_decompose_chain1.c (limited to 'librecrypt_decompose_chain1.c') diff --git a/librecrypt_decompose_chain1.c b/librecrypt_decompose_chain1.c new file mode 100644 index 0000000..718e54c --- /dev/null +++ b/librecrypt_decompose_chain1.c @@ -0,0 +1,37 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" +#ifndef TEST + + +extern inline size_t librecrypt_decompose_chain1(char *hash); + + +#else + + +#define CHECK(IN, OUT, N)\ + do {\ + assert(sizeof(IN) <= sizeof(buf));\ + assert(sizeof(IN) == sizeof(OUT));\ + stpcpy(buf, (IN));\ + n = librecrypt_decompose_chain1(buf);\ + EXPECT(n == (N));\ + EXPECT(n == librecrypt_chain_length(IN));\ + EXPECT(!memcmp(buf, (OUT), sizeof(IN)));\ + } while (0) + + +int +main(void) +{ + char buf[64u]; + size_t n; + SET_UP_ALARM(); + CHECK("", "", 1u); + CHECK(">", "\0", 2u); + CHECK("a$b>c$d>e$f", "a$b\0c$d\0e$f", 3u); + return 0; +} + + +#endif -- cgit v1.2.3-70-g09d2