1f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#include "base.h"
2f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath
3f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamathextern "C" {
4f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath
5f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamathconst char *marisa_strerror(marisa_status status) {
6f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#define MARISA_STRERROR_CASE(x) case x: { return #x; }
7f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath  switch (status) {
8f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath    MARISA_STRERROR_CASE(MARISA_OK)
9f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath    MARISA_STRERROR_CASE(MARISA_HANDLE_ERROR)
10f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath    MARISA_STRERROR_CASE(MARISA_STATE_ERROR)
11f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath    MARISA_STRERROR_CASE(MARISA_PARAM_ERROR)
12f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath    MARISA_STRERROR_CASE(MARISA_SIZE_ERROR)
13f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath    MARISA_STRERROR_CASE(MARISA_MEMORY_ERROR)
14f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath    MARISA_STRERROR_CASE(MARISA_IO_ERROR)
15f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath    MARISA_STRERROR_CASE(MARISA_UNEXPECTED_ERROR)
16f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath  }
17f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath  return "MARISA_UNKNOWN_ERROR";
18f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath#undef MARISA_STRERROR_CASE
19f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath}
20f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath
21f163f6985a63328d07e3de249ad3daf4a0c67d8aNarayan Kamath}  // extern "C"
22