terom@17: #include "error.h" terom@17: terom@17: const char *error_names[PT_ERR_MAX] = { terom@17: [PT_SUCCESS] = "Success", terom@17: [PT_ERR_MEM] = "malloc()", terom@17: terom@17: [PT_ERR_PATH] = "path", terom@17: [PT_ERR_OPEN_MODE] = "open_mode", terom@17: terom@17: [PT_ERR_IMG_STAT] = "stat(.png)", terom@17: [PT_ERR_IMG_FOPEN] = "fopen(.png)", terom@17: terom@17: [PT_ERR_PNG_CREATE] = "png_create()", terom@17: [PT_ERR_PNG] = "png_*()", terom@17: terom@17: [PT_ERR_CACHE_STAT] = "stat(.cache)", terom@17: [PT_ERR_CACHE_OPEN_READ] = "open(.cache)", terom@17: [PT_ERR_CACHE_OPEN_TMP] = "open(.tmp)", terom@17: [PT_ERR_CACHE_SEEK] = "seek(.cache)", terom@17: [PT_ERR_CACHE_READ] = "read(.cache)", terom@17: [PT_ERR_CACHE_WRITE] = "write(.cache)", terom@17: [PT_ERR_CACHE_TRUNC] = "truncate(.cache)", terom@17: [PT_ERR_CACHE_MMAP] = "mmap(.cache)", terom@17: [PT_ERR_CACHE_RENAME_TMP] = "rename(.tmp, .cache)", terom@17: terom@17: [PT_ERR_TILE_CLIP] = "Tile outside of image", terom@17: }; terom@17: terom@17: const char *pt_strerror (int err) terom@17: { terom@17: if (err < 0) terom@17: err = -err; terom@17: terom@17: if (err < PT_SUCCESS || err >= PT_ERR_MAX) terom@17: return "Unknown error"; terom@17: else terom@17: return error_names[err]; terom@17: }