From 58af594c9d9cfe7070742ff09ef8528c11d65bef Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Sat, 26 Feb 2022 13:41:55 +0100 Subject: fmt: Grab fmt_context_id for tests --- fmt.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 fmt.c (limited to 'fmt.c') diff --git a/fmt.c b/fmt.c new file mode 100644 index 0000000..a88e8cb --- /dev/null +++ b/fmt.c @@ -0,0 +1,31 @@ +// BadWolf: Minimalist and privacy-oriented WebKitGTK+ browser +// Copyright © 2019-2021 Badwolf Authors +// SPDX-License-Identifier: BSD-3-Clause + +#include "fmt.h" + +/* flawfinder: ignore. `alpha_digits` is never modified */ +static const char alpha_digits[26] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +void +fmt_context_id(uint64_t num, char *out) +{ + /* flawfinder: ignore. bound checks are done */ + char buf[BADWOLF_CTX_SIZ] = {0, 0, 0, 0, 0, 0, 0}; + int len = 0; + + buf[++len] = ' '; + buf[++len] = ':'; + + buf[++len] = alpha_digits[num % 26]; + num /= 26; + while(num > 0 && len < (BADWOLF_CTX_SIZ - 1)) + { + buf[++len] = alpha_digits[(num - 1) % 26]; + num /= 26; + } + + for(int i = 0; i < len; i++) + { + out[i] = buf[len - i]; + } +} -- cgit v1.3.1-23-gd82d