summaryrefslogtreecommitdiff
path: root/gnu-taler-error-codes/c.footer
diff options
context:
space:
mode:
Diffstat (limited to 'gnu-taler-error-codes/c.footer')
-rw-r--r--gnu-taler-error-codes/c.footer33
1 files changed, 33 insertions, 0 deletions
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;
+}