src/lib/error.c
changeset 65 e02bede4a6e4
parent 59 80135bdfd343
child 69 1d188aa94aee
equal deleted inserted replaced
64:98d934a9b3db 65:e02bede4a6e4
     3 /*
     3 /*
     4  * Mapping for error codes
     4  * Mapping for error codes
     5  */
     5  */
     6 const char *error_names[PT_ERR_MAX] = {
     6 const char *error_names[PT_ERR_MAX] = {
     7     [PT_SUCCESS]                = "Success",
     7     [PT_SUCCESS]                = "Success",
       
     8     [PT_ERR]                    = "Unspecified error",
     8     [PT_ERR_MEM]                = "malloc()",
     9     [PT_ERR_MEM]                = "malloc()",
     9 
    10 
    10     [PT_ERR_PATH]               = "path",
    11     [PT_ERR_PATH]               = "path",
    11     [PT_ERR_OPEN_MODE]          = "open_mode",
    12     [PT_ERR_OPEN_MODE]          = "open_mode",
    12     
    13     
    40 {
    41 {
    41     if (err < 0)
    42     if (err < 0)
    42         err = -err;
    43         err = -err;
    43 
    44 
    44     if (err < PT_SUCCESS || err >= PT_ERR_MAX)
    45     if (err < PT_SUCCESS || err >= PT_ERR_MAX)
    45         return "Unknown error";
    46         return "Invalid error code";
       
    47     
       
    48     else if (!error_names[err])
       
    49         return "Missing string for error code";
       
    50 
    46     else
    51     else
    47         return error_names[err];
    52         return error_names[err];
    48 }
    53 }