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_get_encoding.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 librecrypt_get_encoding.c (limited to 'librecrypt_get_encoding.c') diff --git a/librecrypt_get_encoding.c b/librecrypt_get_encoding.c new file mode 100644 index 0000000..dd5d33d --- /dev/null +++ b/librecrypt_get_encoding.c @@ -0,0 +1,46 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" +#ifndef TEST + + +const void * +librecrypt_get_encoding(const char *settings, size_t len, char *pad_out, int *strict_pad_out, int decoding) +{ + size_t i, start = 0u; + const struct algorithm *algo; + + for (i = 0u; i < len; i++) + if (settings[i] == LIBRECRYPT_ALGORITHM_LINK_DELIMITER) + start = i + 1u; + settings = &settings[start]; + len -= start; + + algo = librecrypt_find_first_algorithm_(settings, len); + if (!algo) { + errno = ENOSYS; + return NULL; + } + + *pad_out = algo->pad; + *strict_pad_out = algo->strict_pad; + if (decoding) + return algo->decoding_lut; + else + return algo->encoding_lut; +} + + +#else + + +int +main(void) +{ + SET_UP_ALARM(); + + return 0; +} + + +#endif +/* TODO test */ -- cgit v1.2.3-70-g09d2