void app_perror(pj_status_t status, const char *msg) { char errbuf[PJ_ERR_MSG_SIZE]; pjmedia_strerror(status, errbuf, sizeof(errbuf)); PJ_LOG(3,(THIS_FILE, "%s: %s", msg, errbuf)); }
static int compare_sdp_string(const char *cmp_title, const char *title1, const pjmedia_sdp_session *sdp1, const char *title2, const pjmedia_sdp_session *sdp2, pj_status_t logical_cmp) { char sdpbuf1[1024], sdpbuf2[1024]; pj_ssize_t len1, len2; len1 = pjmedia_sdp_print(sdp1, sdpbuf1, sizeof(sdpbuf1)); if (len1 < 1) { PJ_LOG(3,(THIS_FILE," error: printing sdp1")); return -1; } sdpbuf1[len1] = '\0'; len2 = pjmedia_sdp_print(sdp2, sdpbuf2, sizeof(sdpbuf2)); if (len2 < 1) { PJ_LOG(3,(THIS_FILE," error: printing sdp2")); return -1; } sdpbuf2[len2] = '\0'; if (logical_cmp != PJ_SUCCESS) { char errbuf[80]; pjmedia_strerror(logical_cmp, errbuf, sizeof(errbuf)); PJ_LOG(3,(THIS_FILE,"%s mismatch: %s\n" "%s:\n" "%s\n" "%s:\n" "%s\n", cmp_title, errbuf, title1, sdpbuf1, title2, sdpbuf2)); return -1; } else if (strcmp(sdpbuf1, sdpbuf2) != 0) { int line; const char *diff; PJ_LOG(3,(THIS_FILE,"%s mismatch:\n" "%s:\n" "%s\n" "%s:\n" "%s\n", cmp_title, title1, sdpbuf1, title2, sdpbuf2)); diff = find_diff(sdpbuf1, sdpbuf2, &line); PJ_LOG(3,(THIS_FILE,"Difference: line %d:\n" "%s", line, diff)); return -1; } else { return 0; } }