bn_error.c 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. static const struct {
  18. int code;
  19. char *msg;
  20. } msgs[] = {
  21. { MP_OKAY, "Successful" },
  22. { MP_MEM, "Out of heap" },
  23. { MP_VAL, "Value out of range" }
  24. };
  25. /* return a char * string for a given code */
  26. char *mp_error_to_string(int code)
  27. {
  28. int x;
  29. /* scan the lookup table for the given message */
  30. for (x = 0; x < (int)(sizeof(msgs) / sizeof(msgs[0])); x++) {
  31. if (msgs[x].code == code) {
  32. return msgs[x].msg;
  33. }
  34. }
  35. /* generic reply for invalid code */
  36. return "Invalid error code";
  37. }
  38. #endif
  39. /* $Source: /cvs/libtom/libtommath/bn_error.c,v $ */
  40. /* $Revision: 1.3 $ */
  41. /* $Date: 2006/03/31 14:18:44 $ */