Work around a SIGSEGV with R:Tags - V4.44
This commit is contained in:
parent
7551b31064
commit
5a6b742733
|
@ -1,4 +1,4 @@
|
||||||
## $Id: Makefile.in,v 1.184 2000/09/19 16:29:33 leo Exp $
|
## $Id: Makefile.in,v 1.185 2000/11/19 14:31:52 leo Exp $
|
||||||
##
|
##
|
||||||
## ISDN accounting for isdn4linux.
|
## ISDN accounting for isdn4linux.
|
||||||
##
|
##
|
||||||
|
@ -19,6 +19,9 @@
|
||||||
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
##
|
##
|
||||||
## $Log: Makefile.in,v $
|
## $Log: Makefile.in,v $
|
||||||
|
## Revision 1.185 2000/11/19 14:31:52 leo
|
||||||
|
## Work around a SIGSEGV with R:Tags - V4.44
|
||||||
|
##
|
||||||
## Revision 1.184 2000/09/19 16:29:33 leo
|
## Revision 1.184 2000/09/19 16:29:33 leo
|
||||||
## avoid double includes
|
## avoid double includes
|
||||||
##
|
##
|
||||||
|
@ -1401,7 +1404,7 @@ SERVICEFILE = /etc/services
|
||||||
# DON'T EDIT BELOW THIS LINE
|
# DON'T EDIT BELOW THIS LINE
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
VERSION = 4.43
|
VERSION = 4.44
|
||||||
|
|
||||||
MANPAGES = isdnlog/callerid.conf.5 isdnlog/isdn.conf.5 \
|
MANPAGES = isdnlog/callerid.conf.5 isdnlog/isdn.conf.5 \
|
||||||
isdnlog/isdnformat.5 isdnlog/isdnlog.5 isdnlog/isdnlog.8 \
|
isdnlog/isdnformat.5 isdnlog/isdnlog.5 isdnlog/isdnlog.8 \
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* #define DEBUG_REDIRZ */
|
/* #define DEBUG_REDIRZ */
|
||||||
|
|
||||||
/* $Id: rate.c,v 1.81 2000/08/01 20:31:31 akool Exp $
|
/* $Id: rate.c,v 1.82 2000/11/19 14:33:05 leo Exp $
|
||||||
*
|
*
|
||||||
* Tarifdatenbank
|
* Tarifdatenbank
|
||||||
*
|
*
|
||||||
|
@ -21,6 +21,9 @@
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Log: rate.c,v $
|
* $Log: rate.c,v $
|
||||||
|
* Revision 1.82 2000/11/19 14:33:05 leo
|
||||||
|
* Work around a SIGSEGV with R:Tags - V4.44
|
||||||
|
*
|
||||||
* Revision 1.81 2000/08/01 20:31:31 akool
|
* Revision 1.81 2000/08/01 20:31:31 akool
|
||||||
* isdnlog-4.37
|
* isdnlog-4.37
|
||||||
* - removed "09978 Schoenthal Oberpfalz" from "zone-de.dtag.cdb". Entry was
|
* - removed "09978 Schoenthal Oberpfalz" from "zone-de.dtag.cdb". Entry was
|
||||||
|
@ -2396,6 +2399,7 @@ int getRate(RATE *Rate, char **msg)
|
||||||
time_t time;
|
time_t time;
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
char *number=0;
|
char *number=0;
|
||||||
|
static int oprefix = -1;
|
||||||
|
|
||||||
if (msg)
|
if (msg)
|
||||||
*(*msg=message)='\0';
|
*(*msg=message)='\0';
|
||||||
|
@ -2435,10 +2439,22 @@ int getRate(RATE *Rate, char **msg)
|
||||||
if (msg) snprintf(message, LENGTH, "Unknown provider %s",epnum(prefix));
|
if (msg) snprintf(message, LENGTH, "Unknown provider %s",epnum(prefix));
|
||||||
return UNKNOWN;
|
return UNKNOWN;
|
||||||
}
|
}
|
||||||
|
/* isdnlog doesn't remember R:-edirected providers, but calls us
|
||||||
|
with "known" _area and _zone, from other prefix, which gives nice
|
||||||
|
SIGSEGVs
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (prefix != oprefix) {
|
||||||
|
oprefix = prefix;
|
||||||
|
Rate->_area = Rate->_zone = UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
if (Rate->_area==UNKNOWN || Rate->_zone == UNKNOWN)
|
if (Rate->_area==UNKNOWN || Rate->_zone == UNKNOWN)
|
||||||
if(get_area(&prefix, Rate, number, msg, message) == UNKNOWN)
|
if(get_area(&prefix, Rate, number, msg, message) == UNKNOWN)
|
||||||
return UNKNOWN;
|
return UNKNOWN;
|
||||||
|
|
||||||
|
oprefix = prefix;
|
||||||
|
|
||||||
Rate->Country = Provider[prefix].Area[Rate->_area].Name;
|
Rate->Country = Provider[prefix].Area[Rate->_area].Name;
|
||||||
if (Rate->dst[0] && *Rate->dst[0])
|
if (Rate->dst[0] && *Rate->dst[0])
|
||||||
Rate->Zone = Provider[prefix].Zone[Rate->_zone].Name;
|
Rate->Zone = Provider[prefix].Zone[Rate->_zone].Name;
|
||||||
|
|
Loading…
Reference in New Issue