@ -2532,9 +2532,6 @@ static int conf_del(struct dahdi_pvt *p, struct dahdi_subchannel *c, int idx)
/* Don't delete if we don't think it's conferenced at all (implied) */
) return 0 ;
memset ( & zi , 0 , sizeof ( zi ) ) ;
zi . chan = 0 ;
zi . confno = 0 ;
zi . confmode = 0 ;
if ( ioctl ( c - > dfd , DAHDI_SETCONF , & zi ) ) {
ast_log ( LOG_WARNING , " Failed to drop %d from conference %d/%d: %s \n " , c - > dfd , c - > curconf . confmode , c - > curconf . confno , strerror ( errno ) ) ;
return - 1 ;
@ -2590,11 +2587,12 @@ static int isslavenative(struct dahdi_pvt *p, struct dahdi_pvt **out)
static int reset_conf ( struct dahdi_pvt * p )
{
struct dahdi_confinfo zi ;
memset ( & zi , 0 , sizeof ( zi ) ) ;
p - > confno = - 1 ;
memset ( & p - > subs [ SUB_REAL ] . curconf , 0 , sizeof ( p - > subs [ SUB_REAL ] . curconf ) ) ;
if ( p - > subs [ SUB_REAL ] . dfd > - 1 ) {
struct dahdi_confinfo zi ;
memset ( & zi , 0 , sizeof ( zi ) ) ;
if ( ioctl ( p - > subs [ SUB_REAL ] . dfd , DAHDI_SETCONF , & zi ) )
ast_log ( LOG_WARNING , " Failed to reset conferencing on channel %d: %s \n " , p - > channel , strerror ( errno ) ) ;
}
@ -2908,8 +2906,7 @@ static int save_conference(struct dahdi_pvt *p)
p - > saveconf . confmode = 0 ;
return - 1 ;
}
c . chan = 0 ;
c . confno = 0 ;
memset ( & c , 0 , sizeof ( c ) ) ;
c . confmode = DAHDI_CONF_NORMAL ;
res = ioctl ( p - > subs [ SUB_REAL ] . dfd , DAHDI_SETCONF , & c ) ;
if ( res ) {
@ -4599,6 +4596,7 @@ static int dahdi_hangup(struct ast_channel *ast)
case SIG_FXOGS :
case SIG_FXOLS :
case SIG_FXOKS :
memset ( & par , 0 , sizeof ( par ) ) ;
res = ioctl ( p - > subs [ SUB_REAL ] . dfd , DAHDI_GET_PARAMS , & par ) ;
if ( ! res ) {
#if 0
@ -5576,6 +5574,7 @@ static int get_alarms(struct dahdi_pvt *p)
}
/* No alarms on the span. Check for channel alarms. */
memset ( & params , 0 , sizeof ( params ) ) ;
if ( ( res = ioctl ( p - > subs [ SUB_REAL ] . dfd , DAHDI_GET_PARAMS , & params ) ) > = 0 )
return params . chan_alarms ;
@ -6202,6 +6201,7 @@ static struct ast_frame *dahdi_handle_event(struct ast_channel *ast)
{
struct dahdi_params par ;
memset ( & par , 0 , sizeof ( par ) ) ;
if ( ioctl ( p - > oprpeer - > subs [ SUB_REAL ] . dfd , DAHDI_GET_PARAMS , & par ) ! = - 1 )
{
if ( ! par . rxisoffhook )
@ -6694,6 +6694,7 @@ static struct ast_frame *dahdi_read(struct ast_channel *ast)
{
struct dahdi_params ps ;
memset ( & ps , 0 , sizeof ( ps ) ) ;
ps . channo = p - > channel ;
if ( ioctl ( p - > subs [ SUB_REAL ] . dfd , DAHDI_GET_PARAMS , & ps ) < 0 ) {
ast_mutex_unlock ( & p - > lock ) ;
@ -7387,6 +7388,7 @@ static struct ast_channel *dahdi_new(struct dahdi_pvt *i, int state, int startpb
if ( ! tmp )
return NULL ;
tmp - > tech = & dahdi_tech ;
memset ( & ps , 0 , sizeof ( ps ) ) ;
ps . channo = i - > channel ;
res = ioctl ( i - > subs [ SUB_REAL ] . dfd , DAHDI_GET_PARAMS , & ps ) ;
if ( res ) {
@ -10216,9 +10218,10 @@ static struct dahdi_pvt *mkintf(int channel, const struct dahdi_chan_conf *conf,
# endif
} else {
chan_sig = tmp - > sig ;
memset ( & p , 0 , sizeof ( p ) ) ;
if ( tmp - > subs [ SUB_REAL ] . dfd > - 1 )
if ( tmp - > subs [ SUB_REAL ] . dfd > - 1 ) {
memset ( & p , 0 , sizeof ( p ) ) ;
res = ioctl ( tmp - > subs [ SUB_REAL ] . dfd , DAHDI_GET_PARAMS , & p ) ;
}
}
/* Adjust starttime on loopstart and kewlstart trunks to reasonable values */
switch ( chan_sig ) {
@ -10599,9 +10602,10 @@ static inline int available(struct dahdi_pvt *p, int channelmatch, ast_group_t g
if ( ! p - > sig | | ( p - > sig = = SIG_FXSLS ) )
return 1 ;
/* Check hook state */
if ( p - > subs [ SUB_REAL ] . dfd > - 1 )
if ( p - > subs [ SUB_REAL ] . dfd > - 1 ) {
memset ( & par , 0 , sizeof ( par ) ) ;
res = ioctl ( p - > subs [ SUB_REAL ] . dfd , DAHDI_GET_PARAMS , & par ) ;
else {
} else {
/* Assume not off hook on CVRS */
res = 0 ;
par . rxisoffhook = 0 ;
@ -11937,6 +11941,7 @@ static int pri_find_principle(struct dahdi_pri *pri, int channel)
if ( ! explicit ) {
spanfd = pri_active_dchan_fd ( pri ) ;
memset ( & param , 0 , sizeof ( param ) ) ;
if ( ioctl ( spanfd , DAHDI_GET_PARAMS , & param ) )
return - 1 ;
span = pris [ param . spanno - 1 ] . prilogicalspan ;
@ -13402,6 +13407,7 @@ static int start_pri(struct dahdi_pri *pri)
ast_log ( LOG_ERROR , " Unable to open D-channel %d (%s) \n " , x , strerror ( errno ) ) ;
return - 1 ;
}
memset ( & p , 0 , sizeof ( p ) ) ;
res = ioctl ( pri - > fds [ i ] , DAHDI_GET_PARAMS , & p ) ;
if ( res ) {
dahdi_close_pri_fd ( pri , i ) ;
@ -14634,12 +14640,14 @@ static char *dahdi_show_channel(struct ast_cli_entry *e, int cmd, struct ast_cli
memset ( & ci , 0 , sizeof ( ci ) ) ;
ps . channo = tmp - > channel ;
if ( tmp - > subs [ SUB_REAL ] . dfd > - 1 ) {
memset ( & ci , 0 , sizeof ( ci ) ) ;
if ( ! ioctl ( tmp - > subs [ SUB_REAL ] . dfd , DAHDI_GETCONF , & ci ) ) {
ast_cli ( a - > fd , " Actual Confinfo: Num/%d, Mode/0x%04x \n " , ci . confno , ci . confmode ) ;
}
if ( ! ioctl ( tmp - > subs [ SUB_REAL ] . dfd , DAHDI_GETCONFMUTE , & x ) ) {
ast_cli ( a - > fd , " Actual Confmute: %s \n " , x ? " Yes " : " No " ) ;
}
memset ( & ps , 0 , sizeof ( ps ) ) ;
if ( ioctl ( tmp - > subs [ SUB_REAL ] . dfd , DAHDI_GET_PARAMS , & ps ) < 0 ) {
ast_log ( LOG_WARNING , " Failed to get parameters on channel %d: %s \n " , tmp - > channel , strerror ( errno ) ) ;
} else {
@ -15299,6 +15307,7 @@ static int linkset_addsigchan(int sigchan)
ast_log ( LOG_ERROR , " Unable to open SS7 sigchan %d (%s) \n " , sigchan , strerror ( errno ) ) ;
return - 1 ;
}
memset ( & p , 0 , sizeof ( p ) ) ;
res = ioctl ( link - > fds [ curfd ] , DAHDI_GET_PARAMS , & p ) ;
if ( res ) {
dahdi_close_ss7_fd ( link , curfd ) ;