errors.c
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #include <string.h>
00009
00010 #include <parserutils/errors.h>
00011
00018 const char *parserutils_error_to_string(parserutils_error error)
00019 {
00020 const char *result = NULL;
00021
00022 switch (error) {
00023 case PARSERUTILS_OK:
00024 result = "No error";
00025 break;
00026 case PARSERUTILS_NOMEM:
00027 result = "Insufficient memory";
00028 break;
00029 case PARSERUTILS_BADPARM:
00030 result = "Bad parameter";
00031 break;
00032 case PARSERUTILS_INVALID:
00033 result = "Invalid input";
00034 break;
00035 case PARSERUTILS_FILENOTFOUND:
00036 result = "File not found";
00037 break;
00038 case PARSERUTILS_NEEDDATA:
00039 result = "Insufficient data";
00040 break;
00041 case PARSERUTILS_BADENCODING:
00042 result = "Unsupported encoding";
00043 break;
00044 case PARSERUTILS_EOF:
00045 result = "EOF";
00046 break;
00047 }
00048
00049 return result;
00050 }
00051
00059 parserutils_error parserutils_error_from_string(const char *str, size_t len)
00060 {
00061 if (strncmp(str, "PARSERUTILS_OK", len) == 0) {
00062 return PARSERUTILS_OK;
00063 } else if (strncmp(str, "PARSERUTILS_NOMEM", len) == 0) {
00064 return PARSERUTILS_NOMEM;
00065 } else if (strncmp(str, "PARSERUTILS_BADPARM", len) == 0) {
00066 return PARSERUTILS_BADPARM;
00067 } else if (strncmp(str, "PARSERUTILS_INVALID", len) == 0) {
00068 return PARSERUTILS_INVALID;
00069 } else if (strncmp(str, "PARSERUTILS_FILENOTFOUND", len) == 0) {
00070 return PARSERUTILS_FILENOTFOUND;
00071 } else if (strncmp(str, "PARSERUTILS_NEEDDATA", len) == 0) {
00072 return PARSERUTILS_NEEDDATA;
00073 } else if (strncmp(str, "PARSERUTILS_BADENCODING", len) == 0) {
00074 return PARSERUTILS_BADENCODING;
00075 } else if (strncmp(str, "PARSERUTILS_EOF", len) == 0) {
00076 return PARSERUTILS_EOF;
00077 }
00078
00079 return PARSERUTILS_OK;
00080 }