Some changes for "vorwahlen.dat"

This commit is contained in:
luethje 1998-05-11 19:43:43 +00:00
parent 51bd0756e3
commit 679f1922ed
3 changed files with 49 additions and 20 deletions

View File

@ -1,4 +1,4 @@
/* $Id: isdnconf.c,v 1.10 1998/05/10 22:11:52 luethje Exp $
/* $Id: isdnconf.c,v 1.11 1998/05/11 19:43:43 luethje Exp $
*
* ISDN accounting for isdn4linux. (Report-module)
*
@ -19,6 +19,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log: isdnconf.c,v $
* Revision 1.11 1998/05/11 19:43:43 luethje
* Some changes for "vorwahlen.dat"
*
* Revision 1.10 1998/05/10 22:11:52 luethje
* Added support for VORWAHLEN2.EXE
*
@ -61,7 +64,6 @@ int find_data(char *_alias, char *_number, section *conf_dat);
const char* make_word(const char *in);
char* tmp_dup(const char *in);
int add_line(section **Ptr, const char *Name);
char *get_area(char *number);
/*****************************************************************************/
@ -240,7 +242,7 @@ int find_data(char *_alias, char *_number, section *conf_dat)
auto char *ptr;
auto entry *CEPtr;
auto section *SPtr;
char *area;
const char *area;
if (quiet)
{
@ -259,7 +261,7 @@ int find_data(char *_alias, char *_number, section *conf_dat)
ptr = (CEPtr = Get_Entry(conf_dat->entries,CONF_ENT_SI))?(CEPtr->value?CEPtr->value:"0"):"0";
print_msg(PRT_NORMAL,"%s:\t\t%s\n",CONF_ENT_SI,ptr);
area = get_area(_number);
area = area_diff_string(NULL,_number);
ptr = area[0] != '\0'?area:(CEPtr = Get_Entry(conf_dat->entries,CONF_ENT_ZONE))?(CEPtr->value?CEPtr->value:""):"";
print_msg(PRT_NORMAL,"%s:\t\t%s\n",make_word(CONF_ENT_ZONE),ptr);
@ -478,17 +480,6 @@ int print_in_modules(const char *fmt, ...)
/*****************************************************************************/
char *get_area(char *number)
{
int area;
area = area_diff(NULL,number);
return area == AREA_LOCAL?"Nahbereich":area == AREA_R50?"Region 50":area == AREA_FAR?"Fernzone":"";
}
/*****************************************************************************/
int main(int argc, char *argv[], char *envp[])
{
int c;
@ -656,7 +647,7 @@ int main(int argc, char *argv[], char *envp[])
{
if (!isdnmon)
{
char *area = get_area(areacode);
const char *area = area_diff_string(NULL,areacode);
print_msg(PRT_NORMAL,"%s%s%s\n",ptr,area[0] != '\0'?" / ":"", area[0] != '\0'?area:"");
exit(0);

View File

@ -1,4 +1,4 @@
/* $Id: isdntools.c,v 1.19 1998/05/10 22:12:01 luethje Exp $
/* $Id: isdntools.c,v 1.20 1998/05/11 19:43:49 luethje Exp $
*
* ISDN accounting for isdn4linux. (Utilities)
*
@ -19,6 +19,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log: isdntools.c,v $
* Revision 1.20 1998/05/11 19:43:49 luethje
* Some changes for "vorwahlen.dat"
*
* Revision 1.19 1998/05/10 22:12:01 luethje
* Added support for VORWAHLEN2.EXE
*
@ -1015,8 +1018,16 @@ static long int area_read_value(FILE *fp, int size)
const char* area_diff_string(char* number1, char* number2)
{
int area = area_diff(number1,number2);
return area == AREA_LOCAL?"Nahbereich":area == AREA_R50?"Region 50":area == AREA_FAR?"Fernzone":"";
switch(area_diff(number1,number2))
{
case AREA_LOCAL : return "Nahbereich"; break;
case AREA_R50 : return "Region 50"; break;
case AREA_FAR : return "Fernzone"; break;
case AREA_ABROAD: return "Ausland"; break;
default : break;
}
return "";
}
/****************************************************************************/
@ -1044,6 +1055,9 @@ int area_diff(char* _code, char *_diffcode)
else
strcpy(code,expand_number(_code));
if (strncmp(mycountry,code,strlen(mycountry)))
return AREA_UNKNOWN;
if (_diffcode == NULL)
return AREA_ERROR;
else
@ -1062,6 +1076,7 @@ int area_diff(char* _code, char *_diffcode)
number = area_read_value(fp,2);
i = 0;
while(i++<number)
{
sprintf(value,"%s%d%ld",countryprefix,GERMAN_CODE,(area_read_value(fp,2)+32768)%65536);
@ -1074,6 +1089,7 @@ int area_diff(char* _code, char *_diffcode)
number = area_read_value(fp,2);
i = 0;
while(i++<number)
{
sprintf(value,"%s%d%ld",countryprefix,GERMAN_CODE,(area_read_value(fp,2)+32768)%65536);
@ -1087,7 +1103,25 @@ int area_diff(char* _code, char *_diffcode)
fclose(fp);
if (!strncmp(mycountry,diffcode,strlen(mycountry)))
{
i = 0;
do
{
if (areacodes[i][0][0] != '\0')
{
strcpy(value, expand_number((char*) areacodes[i][0]));
if (!strncmp(diffcode,value,strlen(value)))
return AREA_UNKNOWN;
}
}
while (areacodes[++i][0][0] != '\0');
return AREA_FAR;
}
else
return AREA_ABROAD;
return AREA_UNKNOWN;
}

View File

@ -1,5 +1,5 @@
/* $Id: libisdn.h,v 1.8 1998/05/10 22:12:04 luethje Exp $
/* $Id: libisdn.h,v 1.9 1998/05/11 19:43:51 luethje Exp $
*
* ISDN accounting for isdn4linux.
*
@ -20,6 +20,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log: libisdn.h,v $
* Revision 1.9 1998/05/11 19:43:51 luethje
* Some changes for "vorwahlen.dat"
*
* Revision 1.8 1998/05/10 22:12:04 luethje
* Added support for VORWAHLEN2.EXE
*
@ -161,6 +164,7 @@ extern char *basename __P((__const char *__name));
#define AREA_LOCAL 1
#define AREA_R50 2
#define AREA_FAR 3
#define AREA_ABROAD 4
/****************************************************************************/