Mercurial > molko
comparison libmlk-core/mlk/core/err.c @ 547:c7664b679a95
misc: remove error codes for now
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 06 Mar 2023 20:03:00 +0100 |
parents | 773a082f0b91 |
children | cba66f7d8a53 |
comparison
equal
deleted
inserted
replaced
546:b7da58230a66 | 547:c7664b679a95 |
---|---|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
17 */ | 17 */ |
18 | 18 |
19 #include <SDL.h> | 19 #include <assert.h> |
20 #include <stdio.h> | |
21 | |
22 #include <mlk/util/util.h> | |
20 | 23 |
21 #include "err.h" | 24 #include "err.h" |
22 | 25 |
26 #define ERR_MAX 128 | |
27 #define DEFAULT_ERR "no error" | |
28 | |
29 static _Thread_local char err[ERR_MAX] = DEFAULT_ERR; | |
30 | |
31 int | |
32 mlk_errf(const char *fmt, ...) | |
33 { | |
34 assert(fmt); | |
35 | |
36 va_list ap; | |
37 | |
38 va_start(ap, fmt); | |
39 mlk_errva(fmt, ap); | |
40 va_end(ap); | |
41 | |
42 return -1; | |
43 } | |
44 | |
45 int | |
46 mlk_errva(const char *fmt, va_list ap) | |
47 { | |
48 assert(fmt); | |
49 | |
50 int ret; | |
51 | |
52 /* Don't keep an empty string... */ | |
53 ret = vsnprintf(err, sizeof (err), fmt, ap); | |
54 | |
55 if (ret < 0) | |
56 mlk_util_strlcpy(err, "unknown error", sizeof (err)); | |
57 else if (ret == 0) | |
58 mlk_util_strlcpy(err, DEFAULT_ERR, sizeof (err)); | |
59 | |
60 return -1; | |
61 } | |
62 | |
23 const char * | 63 const char * |
24 mlk_err_string(int e) | 64 mlk_err(void) |
25 { | 65 { |
26 switch (e) { | 66 return err; |
27 case MLK_ERR_SDL: | |
28 return SDL_GetError(); | |
29 case MLK_ERR_NO_MEM: | |
30 return "out of memory"; | |
31 case MLK_ERR_NO_SUPPORT: | |
32 return "operation not supported"; | |
33 case MLK_ERR_FORMAT: | |
34 return "invalid format or corrupt file"; | |
35 default: | |
36 return "no error"; | |
37 } | |
38 } | 67 } |