/* * pj_strerror() */ PJ_DEF(pj_str_t) pj_strerror( pj_status_t statcode, char *buf, pj_size_t bufsize ) { int len = -1; pj_str_t errstr; pj_assert(buf && bufsize); if (statcode == PJ_SUCCESS) { len = pj_ansi_snprintf( buf, bufsize, "Success"); } else if (statcode < PJ_ERRNO_START + PJ_ERRNO_SPACE_SIZE) { len = pj_ansi_snprintf( buf, bufsize, "Unknown error %d", statcode); } else if (statcode < PJ_ERRNO_START_STATUS + PJ_ERRNO_SPACE_SIZE) { len = pjlib_error(statcode, buf, bufsize); } else if (statcode < PJ_ERRNO_START_SYS + PJ_ERRNO_SPACE_SIZE) { len = platform_strerror(PJ_STATUS_TO_OS(statcode), buf, bufsize); } else { unsigned i; /* Find user handler to get the error message. */ for (i=0; i<err_msg_hnd_cnt; ++i) { if (IN_RANGE(statcode, err_msg_hnd[i].begin, err_msg_hnd[i].end)) { return (*err_msg_hnd[i].strerror)(statcode, buf, bufsize); } } /* Handler not found! */ len = pj_ansi_snprintf( buf, bufsize, "Unknown error %d", statcode); } if (len < 1) { *buf = '\0'; len = 0; } errstr.ptr = buf; errstr.slen = len; return errstr; }
PJ_DEF(void) pj_set_netos_error(pj_status_t code) { WSASetLastError(PJ_STATUS_TO_OS(code)); }
PJ_DEF(void) pj_set_netos_error(pj_status_t code) { errno = PJ_STATUS_TO_OS(code); }