From 83bbf83f4905546992cb60c8e426b9cb64318419 Mon Sep 17 00:00:00 2001 From: "Dwayne M. Hubbard" Date: Fri, 20 Feb 2009 20:29:00 +0000 Subject: [PATCH] Make app_fax compatible with spandsp-0.0.6pre4 Prior to spandsp-0.0.6pre4 the t30_stats_t structure used a pages_transferred integer to indicate the number of pages transferred (so far) during the fax session. The spandsp-0.0.6pre4 release removed the pages_transferred integer and replaced it with two different integers - pages_tx and pages_rx. This revision uses the new integers for spandsp-0.0.6pre4 while maintaining backwards compatibility for previous spandsp releases. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177699 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_fax.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/app_fax.c b/apps/app_fax.c index b7031acf9b..ed7fe16e63 100644 --- a/apps/app_fax.c +++ b/apps/app_fax.c @@ -206,6 +206,7 @@ static void phase_e_handler(t30_state_t *f, void *user_data, int result) char buf[20]; fax_session *s = (fax_session *) user_data; t30_stats_t stat; + int pages_transferred; ast_debug(1, "Fax phase E handler. result=%d\n", result); @@ -231,7 +232,12 @@ static void phase_e_handler(t30_state_t *f, void *user_data, int result) pbx_builtin_setvar_helper(s->chan, "FAXSTATUS", "SUCCESS"); pbx_builtin_setvar_helper(s->chan, "FAXERROR", NULL); pbx_builtin_setvar_helper(s->chan, "REMOTESTATIONID", far_ident); - snprintf(buf, sizeof(buf), "%d", stat.pages_transferred); +#if SPANDSP_RELEASE_DATE >= 20090220 + pages_transferred = (s->direction) ? stat.pages_tx : stat.pages_rx; +#else + pages_transferred = stat.pages_transferred; +#endif + snprintf(buf, sizeof(buf), "%d", pages_transferred); pbx_builtin_setvar_helper(s->chan, "FAXPAGES", buf); snprintf(buf, sizeof(buf), "%d", stat.y_resolution); pbx_builtin_setvar_helper(s->chan, "FAXRESOLUTION", buf); @@ -240,7 +246,7 @@ static void phase_e_handler(t30_state_t *f, void *user_data, int result) ast_debug(1, "Fax transmitted successfully.\n"); ast_debug(1, " Remote station ID: %s\n", far_ident); - ast_debug(1, " Pages transferred: %d\n", stat.pages_transferred); + ast_debug(1, " Pages transferred: %d\n", pages_transferred); ast_debug(1, " Image resolution: %d x %d\n", stat.x_resolution, stat.y_resolution); ast_debug(1, " Transfer Rate: %d\n", stat.bit_rate); @@ -260,7 +266,7 @@ static void phase_e_handler(t30_state_t *f, void *user_data, int result) S_OR(s->chan->cid.cid_num, ""), far_ident, local_ident, - stat.pages_transferred, + pages_transferred, stat.y_resolution, stat.bit_rate, s->file_name);