src/lib/error.c
author Tero Marttila <terom@fixme.fi>
Sun, 24 Jan 2010 23:20:39 +0200
changeset 55 a3542e78ecd8
parent 34 a387bc77ad52
child 56 d5e3089906da
permissions -rw-r--r--
fixfix
17
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#include "error.h"
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
18
f92a24ab046e add missing lib/tile.*
Tero Marttila <terom@fixme.fi>
parents: 17
diff changeset
     3
/*
f92a24ab046e add missing lib/tile.*
Tero Marttila <terom@fixme.fi>
parents: 17
diff changeset
     4
 * Mapping for error codes
f92a24ab046e add missing lib/tile.*
Tero Marttila <terom@fixme.fi>
parents: 17
diff changeset
     5
 */
17
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
const char *error_names[PT_ERR_MAX] = {
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
    [PT_SUCCESS]                = "Success",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
    [PT_ERR_MEM]                = "malloc()",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
    [PT_ERR_PATH]               = "path",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
    [PT_ERR_OPEN_MODE]          = "open_mode",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
    
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
    [PT_ERR_IMG_STAT]           = "stat(.png)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
    [PT_ERR_IMG_FOPEN]          = "fopen(.png)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
    
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
    [PT_ERR_PNG_CREATE]         = "png_create()",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
    [PT_ERR_PNG]                = "png_*()",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
   
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
    [PT_ERR_CACHE_STAT]         = "stat(.cache)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
    [PT_ERR_CACHE_OPEN_READ]    = "open(.cache)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
    [PT_ERR_CACHE_OPEN_TMP]     = "open(.tmp)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
    [PT_ERR_CACHE_SEEK]         = "seek(.cache)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
    [PT_ERR_CACHE_READ]         = "read(.cache)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
    [PT_ERR_CACHE_WRITE]        = "write(.cache)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
    [PT_ERR_CACHE_TRUNC]        = "truncate(.cache)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
    [PT_ERR_CACHE_MMAP]         = "mmap(.cache)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
    [PT_ERR_CACHE_RENAME_TMP]   = "rename(.tmp, .cache)",
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
19
ebcc49de97d0 implement pt_ctx threadpool and pt_image_tile_async
Tero Marttila <terom@fixme.fi>
parents: 18
diff changeset
    29
    [PT_ERR_PTHREAD_CREATE]     = "pthread_create",
ebcc49de97d0 implement pt_ctx threadpool and pt_image_tile_async
Tero Marttila <terom@fixme.fi>
parents: 18
diff changeset
    30
    [PT_ERR_CTX_SHUTDOWN]       = "pt_ctx is shutting down",
ebcc49de97d0 implement pt_ctx threadpool and pt_image_tile_async
Tero Marttila <terom@fixme.fi>
parents: 18
diff changeset
    31
17
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
    [PT_ERR_TILE_CLIP]          = "Tile outside of image",
34
a387bc77ad52 implement zoom
Tero Marttila <terom@fixme.fi>
parents: 19
diff changeset
    33
    [PT_ERR_ZOOM]               = "Invalid zoom level",
17
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    34
};
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    35
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    36
const char *pt_strerror (int err)
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    37
{
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    38
    if (err < 0)
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    39
        err = -err;
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    40
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    41
    if (err < PT_SUCCESS || err >= PT_ERR_MAX)
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    42
        return "Unknown error";
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    43
    else
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    44
        return error_names[err];
baf3fe7c6354 add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    45
}