From 007b2a19f8d9bdf926aa584d85beb5bdac32bf9d Mon Sep 17 00:00:00 2001 From: Jonathan Buchanan Date: Wed, 22 Jul 2020 01:06:20 -0400 Subject: generate c function for looking up ec hints --- gnu-taler-error-codes/c.footer | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 gnu-taler-error-codes/c.footer (limited to 'gnu-taler-error-codes/c.footer') diff --git a/gnu-taler-error-codes/c.footer b/gnu-taler-error-codes/c.footer new file mode 100644 index 0000000..c348200 --- /dev/null +++ b/gnu-taler-error-codes/c.footer @@ -0,0 +1,33 @@ + + + +/** + * Returns a hint for a given error code. + * + * @param ec the error code. + * @return the hint if it could be found, otherwise NULL. + */ +const char * +TALER_ErrorCode_get_hint (enum TALER_ErrorCode ec) +{ + unsigned int lower = 0; + unsigned int upper = code_hint_pairs_length - 1; + unsigned int mid = upper / 2; + while (lower <= upper) + { + mid = (upper + lower) / 2; + if (code_hint_pairs[mid].ec < ec) + { + lower = mid + 1; + } + else if (code_hint_pairs[mid].ec > ec) + { + upper = mid - 1; + } + else + { + return code_hint_pairs[mid].hint; + } + } + return NULL; +} -- cgit v1.2.3