diff --git a/libs/freetdm/mod_freetdm/mod_freetdm.c b/libs/freetdm/mod_freetdm/mod_freetdm.c index c0fdaa6ecc..78874de059 100755 --- a/libs/freetdm/mod_freetdm/mod_freetdm.c +++ b/libs/freetdm/mod_freetdm/mod_freetdm.c @@ -1055,28 +1055,18 @@ switch_io_routines_t freetdm_io_routines = { static const char* channel_get_variable(switch_core_session_t *session, switch_event_t *var_event, const char *variable_name) { const char *variable = NULL; - if (var_event) { if ((variable = switch_event_get_header(var_event, variable_name))) { return variable; } } + if (session) { switch_channel_t *channel = switch_core_session_get_channel(session); if ((variable = switch_channel_get_variable(channel, variable_name))) { return variable; } } - - - // This is unsafe, I don't see anywhere in the whole code where this is called with NULL session anyway. - // There is a new switch_core_get_variable_dup that will strdup it for you and then you must free it. - // That messes up the abstraction completely so I am just commenting it out for you..... - /* - if ((variable = switch_core_get_variable(variable_name))) { - return variable; - } - */ return NULL; } diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c index 1e282d1138..bd4e896dad 100644 --- a/libs/freetdm/src/ftdm_io.c +++ b/libs/freetdm/src/ftdm_io.c @@ -3588,7 +3588,7 @@ static FIO_READ_FUNCTION(ftdm_raw_read) } /* This function takes care of automatically generating DTMF or FSK tones when needed */ -static ftdm_status_t handle_tone_generation(ftdm_channel_t *ftdmchan, ftdm_size_t datalen) +static ftdm_status_t handle_tone_generation(ftdm_channel_t *ftdmchan) { /* * datalen: size in bytes of the chunk of data the user requested to read (this function @@ -3650,9 +3650,7 @@ static ftdm_status_t handle_tone_generation(ftdm_channel_t *ftdmchan, ftdm_size_ /* if we picked a buffer, time to read from it and write the linear data to the device */ if (buffer) { uint8_t auxbuf[1024]; - /* we initialize dlen to datalen, which is the size in bytes the - * user wants to read (typically chunks of 160 bytes, 20ms G.711) */ - ftdm_size_t dlen = datalen; + ftdm_size_t dlen = ftdmchan->packet_len; ftdm_size_t len, br, max = sizeof(auxbuf); /* if the codec is not linear, then data is really twice as much cuz @@ -3662,10 +3660,10 @@ static ftdm_status_t handle_tone_generation(ftdm_channel_t *ftdmchan, ftdm_size_ } /* we do not expect the user chunks to be bigger than auxbuf */ - ftdm_assert(dlen <= sizeof(auxbuf), "Unexpected size for user data chunk size\n"); + ftdm_assert((dlen <= sizeof(auxbuf)), "Unexpected size for user data chunk size\n"); /* dblen is the size in use for dtmf_buffer or fsk_buffer, and dlen is the size - * of the read chunks of the user, we pick the smaller one */ + * of the io chunks to write, we pick the smaller one */ len = dblen > dlen ? dlen : dblen; /* we can't read more than the size of our auxiliary buffer */ @@ -3770,7 +3768,7 @@ FT_DECLARE(ftdm_status_t) ftdm_channel_read(ftdm_channel_t *ftdmchan, void *data rdata[i] = ftdmchan->rxgain_table[rdata[i]]; } } - handle_tone_generation(ftdmchan, *datalen); + handle_tone_generation(ftdmchan); if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_TRANSCODE) && ftdmchan->effective_codec != ftdmchan->native_codec) { if (ftdmchan->native_codec == FTDM_CODEC_ULAW && ftdmchan->effective_codec == FTDM_CODEC_SLIN) { diff --git a/libs/iksemel/configure.ac b/libs/iksemel/configure.ac index 49d8621777..403725a80d 100644 --- a/libs/iksemel/configure.ac +++ b/libs/iksemel/configure.ac @@ -83,12 +83,12 @@ AC_ARG_ENABLE(64, if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then if test "${enable_64}" = "yes"; then - CFLAGS="$CFLAGS -xc99=all -mt -m64 -lgpg-error" - CXXFLAGS="$CXXFLAGS -xc99=all -mt -m64 -lgpg-error" + CFLAGS="$CFLAGS -mt -m64 -lgpg-error" + CXXFLAGS="$CXXFLAGS -mt -m64 -lgpg-error" SUNFLAGS="-xc99=all -mt -m64 -lgpg-error" else - CFLAGS="$CFLAGS -xc99=all -mt -lgpg-error" - CXXFLAGS="$CXXFLAGS -xc99=all -mt -lgpg-error" + CFLAGS="$CFLAGS -mt -lgpg-error" + CXXFLAGS="$CXXFLAGS -mt -lgpg-error" SUNFLAGS="-xc99=all -mt -lgpg-error" fi fi