1b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak#include "base.h"
2b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak
3b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniakextern "C" {
4b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak
5b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniakconst char *marisa_alpha_strerror(marisa_alpha_status status) {
6b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak#define MARISA_ALPHA_STRERROR_CASE(x) case x: { return #x; }
7b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak  switch (status) {
8b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak    MARISA_ALPHA_STRERROR_CASE(MARISA_ALPHA_OK)
9b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak    MARISA_ALPHA_STRERROR_CASE(MARISA_ALPHA_HANDLE_ERROR)
10b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak    MARISA_ALPHA_STRERROR_CASE(MARISA_ALPHA_STATE_ERROR)
11b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak    MARISA_ALPHA_STRERROR_CASE(MARISA_ALPHA_PARAM_ERROR)
12b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak    MARISA_ALPHA_STRERROR_CASE(MARISA_ALPHA_SIZE_ERROR)
13b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak    MARISA_ALPHA_STRERROR_CASE(MARISA_ALPHA_MEMORY_ERROR)
14b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak    MARISA_ALPHA_STRERROR_CASE(MARISA_ALPHA_IO_ERROR)
15b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak    MARISA_ALPHA_STRERROR_CASE(MARISA_ALPHA_UNEXPECTED_ERROR)
16b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak  }
17b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak  return "MARISA_ALPHA_UNKNOWN_ERROR";
18b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak#undef MARISA_ALPHA_STRERROR_CASE
19b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak}
20b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak
21b4acd09676fe12e9d95b2a5f3f742e9a1a0483b1Przemyslaw Szczepaniak}  // extern "C"
22