version 0.3.33
[fms.git] / libs / libtommath / bn_error.c
1 #include <tommath.h>
2 #ifdef BN_ERROR_C
3 /* LibTomMath, multiple-precision integer library -- Tom St Denis
4  *
5  * LibTomMath is a library that provides multiple-precision
6  * integer arithmetic as well as number theoretic functionality.
7  *
8  * The library was designed directly after the MPI library by
9  * Michael Fromberger but has been written from scratch with
10  * additional optimizations in place.
11  *
12  * The library is free for all purposes without any express
13  * guarantee it works.
14  *
15  * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
16  */
17
18 static const struct {
19      int code;
20      char *msg;
21 } msgs[] = {
22      { MP_OKAY, "Successful" },
23      { MP_MEM,  "Out of heap" },
24      { MP_VAL,  "Value out of range" }
25 };
26
27 /* return a char * string for a given code */
28 char *mp_error_to_string(int code)
29 {
30    int x;
31
32    /* scan the lookup table for the given message */
33    for (x = 0; x < (int)(sizeof(msgs) / sizeof(msgs[0])); x++) {
34        if (msgs[x].code == code) {
35           return msgs[x].msg;
36        }
37    }
38
39    /* generic reply for invalid code */
40    return "Invalid error code";
41 }
42
43 #endif
44
45 /* $Source: /cvs/libtom/libtommath/bn_error.c,v $ */
46 /* $Revision: 1.3 $ */
47 /* $Date: 2006/03/31 14:18:44 $ */