/** * 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; }