From 7c987a296324d3e28dd27086600c2e51d07ae721 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Thu, 22 Jun 2006 18:30:13 +0000 Subject: Added the error code into error messages git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@534 74dad513-b988-da41-8d7b-12977e46ad98 --- pjlib/include/pj/errno.h | 20 +++++++++++++++++++- pjlib/src/pj/errno.c | 34 ++++++++++++++++++---------------- 2 files changed, 37 insertions(+), 17 deletions(-) (limited to 'pjlib') diff --git a/pjlib/include/pj/errno.h b/pjlib/include/pj/errno.h index 8834a616..8b5906cb 100644 --- a/pjlib/include/pj/errno.h +++ b/pjlib/include/pj/errno.h @@ -66,7 +66,7 @@ PJ_BEGIN_DECL /** * Guidelines on error message length. */ -#define PJ_ERR_MSG_SIZE 64 +#define PJ_ERR_MSG_SIZE 80 /** * Get the last platform error/status, folded into pj_status_t. @@ -188,6 +188,18 @@ PJ_DECL(pj_status_t) pj_register_strerror(pj_status_t start_code, * @{ */ +/** + * Use this macro to generate error message text for your error code, + * so that they look uniformly as the rest of the libraries. + * + * @param code The error code + * @param msg The error test. + */ +#ifndef PJ_BUILD_ERR +# define PJ_BUILD_ERR(code,msg) { code, msg " (" #code ")" } +#endif + + /** * @hideinitializer * Unknown error has been reported. @@ -268,6 +280,12 @@ PJ_DECL(pj_status_t) pj_register_strerror(pj_status_t start_code, * End of file. */ #define PJ_EEOF (PJ_ERRNO_START_STATUS + 16)/* 70016 */ +/** + * @hideinitializer + * Size is too big. + */ +#define PJ_ETOOBIG (PJ_ERRNO_START_STATUS + 17)/* 70017 */ + /** @} */ /* pj_errnum */ diff --git a/pjlib/src/pj/errno.c b/pjlib/src/pj/errno.c index 086bfcd7..da06f996 100644 --- a/pjlib/src/pj/errno.c +++ b/pjlib/src/pj/errno.c @@ -40,28 +40,30 @@ static struct err_msg_hnd /* PJLIB's own error codes/messages */ #if defined(PJ_HAS_ERROR_STRING) && PJ_HAS_ERROR_STRING!=0 + static const struct { int code; const char *msg; } err_str[] = { - { PJ_EUNKNOWN, "Unknown Error" }, - { PJ_EPENDING, "Pending operation" }, - { PJ_ETOOMANYCONN, "Too many connecting sockets" }, - { PJ_EINVAL, "Invalid value or argument" }, - { PJ_ENAMETOOLONG, "Name too long" }, - { PJ_ENOTFOUND, "Not found" }, - { PJ_ENOMEM, "Not enough memory" }, - { PJ_EBUG, "BUG DETECTED!" }, - { PJ_ETIMEDOUT, "Operation timed out" }, - { PJ_ETOOMANY, "Too many objects of the specified type"}, - { PJ_EBUSY, "Object is busy"}, - { PJ_ENOTSUP, "Option/operation is not supported"}, - { PJ_EINVALIDOP, "Invalid operation"}, - { PJ_ECANCELLED, "Operation cancelled"}, - { PJ_EEXISTS, "Object already exists" }, - { PJ_EEOF, "End of file" }, + PJ_BUILD_ERR(PJ_EUNKNOWN, "Unknown Error" ), + PJ_BUILD_ERR(PJ_EPENDING, "Pending operation" ), + PJ_BUILD_ERR(PJ_ETOOMANYCONN, "Too many connecting sockets" ), + PJ_BUILD_ERR(PJ_EINVAL, "Invalid value or argument" ), + PJ_BUILD_ERR(PJ_ENAMETOOLONG, "Name too long" ), + PJ_BUILD_ERR(PJ_ENOTFOUND, "Not found" ), + PJ_BUILD_ERR(PJ_ENOMEM, "Not enough memory" ), + PJ_BUILD_ERR(PJ_EBUG, "BUG DETECTED!" ), + PJ_BUILD_ERR(PJ_ETIMEDOUT, "Operation timed out" ), + PJ_BUILD_ERR(PJ_ETOOMANY, "Too many objects of the specified type"), + PJ_BUILD_ERR(PJ_EBUSY, "Object is busy"), + PJ_BUILD_ERR(PJ_ENOTSUP, "Option/operation is not supported"), + PJ_BUILD_ERR(PJ_EINVALIDOP, "Invalid operation"), + PJ_BUILD_ERR(PJ_ECANCELLED, "Operation cancelled"), + PJ_BUILD_ERR(PJ_EEXISTS, "Object already exists" ), + PJ_BUILD_ERR(PJ_EEOF, "End of file" ), + PJ_BUILD_ERR(PJ_ETOOBIG, "Size is too big"), }; #endif /* PJ_HAS_ERROR_STRING */ -- cgit v1.2.3