|
Libparserutils
|
00001 /* 00002 * This file is part of LibParserUtils. 00003 * Licensed under the MIT License, 00004 * http://www.opensource.org/licenses/mit-license.php 00005 * Copyright 2007 John-Mark Bell <jmb@netsurf-browser.org> 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 }
1.7.3