author | Tero Marttila <terom@fixme.fi> |
Mon, 25 Jan 2010 04:34:02 +0200 | |
changeset 88 | 5cc2d044d368 |
parent 86 | d4a62899587f |
permissions | -rw-r--r-- |
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 | 3 |
/* |
4 |
* Mapping for error codes |
|
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", |
65
e02bede4a6e4
report invalid error codes/names better
Tero Marttila <terom@fixme.fi>
parents:
59
diff
changeset
|
8 |
[PT_ERR] = "Unspecified error", |
17
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
9 |
[PT_ERR_MEM] = "malloc()", |
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
10 |
|
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
11 |
[PT_ERR_PATH] = "path", |
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
12 |
[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
|
13 |
|
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
14 |
[PT_ERR_IMG_STAT] = "stat(.png)", |
69
1d188aa94aee
pt_png_check, and fclose() pt_image_open_file
Tero Marttila <terom@fixme.fi>
parents:
65
diff
changeset
|
15 |
[PT_ERR_IMG_OPEN] = "open(.png)", |
1d188aa94aee
pt_png_check, and fclose() pt_image_open_file
Tero Marttila <terom@fixme.fi>
parents:
65
diff
changeset
|
16 |
[PT_ERR_IMG_FORMAT] = "Unknown image format", |
17
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
17 |
|
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
18 |
[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
|
19 |
[PT_ERR_PNG] = "png_*()", |
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
20 |
|
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
21 |
[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
|
22 |
[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
|
23 |
[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
|
24 |
[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
|
25 |
[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
|
26 |
[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
|
27 |
[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
|
28 |
[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
|
29 |
[PT_ERR_CACHE_RENAME_TMP] = "rename(.tmp, .cache)", |
56
d5e3089906da
major refactoring of pt_cache, split off all PNG processing into pt_png
Tero Marttila <terom@fixme.fi>
parents:
34
diff
changeset
|
30 |
[PT_ERR_CACHE_VERSION] = "Incompatible .cache version", |
59 | 31 |
[PT_ERR_CACHE_MUNMAP] = "munmap(cache->file)", |
32 |
[PT_ERR_CACHE_CLOSE] = "close(cache->fd)", |
|
17
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
33 |
|
19
ebcc49de97d0
implement pt_ctx threadpool and pt_image_tile_async
Tero Marttila <terom@fixme.fi>
parents:
18
diff
changeset
|
34 |
[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
|
35 |
[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
|
36 |
|
86
d4a62899587f
PT_ERR_TILE_DIM and PT_ERR_TILE_ZOOM
Tero Marttila <terom@fixme.fi>
parents:
69
diff
changeset
|
37 |
[PT_ERR_TILE_DIM] = "Invalid tile dimensions", |
17
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
38 |
[PT_ERR_TILE_CLIP] = "Tile outside of image", |
86
d4a62899587f
PT_ERR_TILE_DIM and PT_ERR_TILE_ZOOM
Tero Marttila <terom@fixme.fi>
parents:
69
diff
changeset
|
39 |
[PT_ERR_TILE_ZOOM] = "Invalid zoom level", |
17
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 |
|
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
42 |
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
|
43 |
{ |
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
44 |
if (err < 0) |
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
45 |
err = -err; |
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
46 |
|
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
47 |
if (err < PT_SUCCESS || err >= PT_ERR_MAX) |
65
e02bede4a6e4
report invalid error codes/names better
Tero Marttila <terom@fixme.fi>
parents:
59
diff
changeset
|
48 |
return "Invalid error code"; |
e02bede4a6e4
report invalid error codes/names better
Tero Marttila <terom@fixme.fi>
parents:
59
diff
changeset
|
49 |
|
e02bede4a6e4
report invalid error codes/names better
Tero Marttila <terom@fixme.fi>
parents:
59
diff
changeset
|
50 |
else if (!error_names[err]) |
e02bede4a6e4
report invalid error codes/names better
Tero Marttila <terom@fixme.fi>
parents:
59
diff
changeset
|
51 |
return "Missing string for error code"; |
e02bede4a6e4
report invalid error codes/names better
Tero Marttila <terom@fixme.fi>
parents:
59
diff
changeset
|
52 |
|
17
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
53 |
else |
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
54 |
return error_names[err]; |
baf3fe7c6354
add library error codes, and fix image fopen error handling
Tero Marttila <terom@fixme.fi>
parents:
diff
changeset
|
55 |
} |