zone-1.10
This commit is contained in:
parent
f6fe20a597
commit
43d546bcd0
|
@ -8,7 +8,7 @@ U:%.3f DM
|
||||||
#
|
#
|
||||||
# (C) Copyright 1999 by Andreas Kool (akool@isdn4linux.de)
|
# (C) Copyright 1999 by Andreas Kool (akool@isdn4linux.de)
|
||||||
#
|
#
|
||||||
# $Id: rate-de.dat,v 1.23 1999/06/21 19:32:14 akool Exp $
|
# $Id: rate-de.dat,v 1.24 1999/06/22 16:30:10 akool Exp $
|
||||||
#
|
#
|
||||||
# Zonenzuordnung für Deutschland
|
# Zonenzuordnung für Deutschland
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: zone.c,v 1.5 1999/06/21 19:35:04 akool Exp $
|
/* $Id: zone.c,v 1.6 1999/06/22 16:31:15 akool Exp $
|
||||||
*
|
*
|
||||||
* Zonenberechnung
|
* Zonenberechnung
|
||||||
*
|
*
|
||||||
|
@ -19,11 +19,8 @@
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*
|
*
|
||||||
* $Log: zone.c,v $
|
* $Log: zone.c,v $
|
||||||
* Revision 1.5 1999/06/21 19:35:04 akool
|
* Revision 1.6 1999/06/22 16:31:15 akool
|
||||||
* isdnlog Version 3.35
|
* zone-1.10
|
||||||
* zone data for .nl (many thanks to Paul!)
|
|
||||||
*
|
|
||||||
* WARNING: This version of isdnlog dont even compile! *EXPERIMENTAL*!!
|
|
||||||
*
|
*
|
||||||
* Revision 1.4 1999/06/18 12:41:57 akool
|
* Revision 1.4 1999/06/18 12:41:57 akool
|
||||||
* zone V1.0
|
* zone V1.0
|
||||||
|
@ -350,8 +347,8 @@ static int _initZone(int provider, char *path, char **msg, bool area_only)
|
||||||
for (p++,n=0,q=dversion; n<6 && *p != ' '; n++)
|
for (p++,n=0,q=dversion; n<6 && *p != ' '; n++)
|
||||||
*q++ = *p++;
|
*q++ = *p++;
|
||||||
*q = '\0';
|
*q = '\0';
|
||||||
if (*dversion != *version) {
|
if (memcmp(dversion, version, 3)) {
|
||||||
if (msg)
|
if (msg)
|
||||||
snprintf (message, LENGTH,
|
snprintf (message, LENGTH,
|
||||||
"Zone V%s: Error: Provider %d File '%s': incompatible Dataversion %s",
|
"Zone V%s: Error: Provider %d File '%s': incompatible Dataversion %s",
|
||||||
version, provider, path, dversion);
|
version, provider, path, dversion);
|
||||||
|
@ -373,11 +370,11 @@ static int _initZone(int provider, char *path, char **msg, bool area_only)
|
||||||
p++;
|
p++;
|
||||||
tsize = strtol(p, &p, 10);
|
tsize = strtol(p, &p, 10);
|
||||||
break;
|
break;
|
||||||
case 'O' :
|
case 'O' :
|
||||||
p++;
|
p++;
|
||||||
sthp[ocount].oz = strtol(p, &p, 10);
|
sthp[ocount].oz = strtol(p, &p, 10);
|
||||||
break;
|
break;
|
||||||
case 'L' :
|
case 'L' :
|
||||||
p++;
|
p++;
|
||||||
sthp[ocount].numlen = strtol(p, &p, 10);
|
sthp[ocount].numlen = strtol(p, &p, 10);
|
||||||
break;
|
break;
|
||||||
|
@ -465,7 +462,7 @@ static int _getZ(struct sth *sthp, char *from, char *sto) {
|
||||||
char *temp;
|
char *temp;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
if ((res=strcmp(from, sto)) == 0)
|
if ((res=strcmp(from, sto)) == 0)
|
||||||
return sthp->oz;
|
return sthp->oz;
|
||||||
else if (res > 0) {
|
else if (res > 0) {
|
||||||
temp=from;
|
temp=from;
|
||||||
|
@ -475,10 +472,10 @@ static int _getZ(struct sth *sthp, char *from, char *sto) {
|
||||||
strncpy(newfrom, from, LENGTH-1);
|
strncpy(newfrom, from, LENGTH-1);
|
||||||
while (strlen(newfrom)) {
|
while (strlen(newfrom)) {
|
||||||
UL lifrom = (UL) atol(newfrom); /* keys could be long */
|
UL lifrom = (UL) atol(newfrom); /* keys could be long */
|
||||||
US ifrom = (US) lifrom;
|
US ifrom = (US) lifrom;
|
||||||
if (sthp->pack_key == 2) {
|
if (sthp->pack_key == 2) {
|
||||||
key.dptr = (char *) &ifrom;
|
key.dptr = (char *) &ifrom;
|
||||||
key.dsize = sizeof(US);
|
key.dsize = sizeof(US);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
key.dptr = (char *) &lifrom;
|
key.dptr = (char *) &lifrom;
|
||||||
|
@ -492,8 +489,8 @@ static int _getZ(struct sth *sthp, char *from, char *sto) {
|
||||||
int ito;
|
int ito;
|
||||||
unsigned char z=0;
|
unsigned char z=0;
|
||||||
if (sthp->cc) /* if areacodes */
|
if (sthp->cc) /* if areacodes */
|
||||||
/* here is since 1.00 a zero-terminated strring */
|
/* here is since 1.00 a zero-terminated strring */
|
||||||
while (*p++);
|
while (*p++);
|
||||||
count = *((US*)p)++;
|
count = *((US*)p)++;
|
||||||
while (count--) {
|
while (count--) {
|
||||||
bool ind = true;
|
bool ind = true;
|
||||||
|
@ -552,16 +549,20 @@ static int _getAreacode(struct sth *sthp, char *from, char **text) {
|
||||||
newfrom[sthp->numlen] = '\0';
|
newfrom[sthp->numlen] = '\0';
|
||||||
while ((len=strlen(newfrom))) {
|
while ((len=strlen(newfrom))) {
|
||||||
UL lifrom = (UL) atol(newfrom); /* keys could be long */
|
UL lifrom = (UL) atol(newfrom); /* keys could be long */
|
||||||
US ifrom = (US) lifrom;
|
US ifrom = (US) lifrom;
|
||||||
if (sthp->pack_key == 2) {
|
if (sthp->pack_key == 2) {
|
||||||
if (lifrom >= 0x10000) { /* can't be, so cut a digit */
|
if (lifrom >= 0x10000) { /* can't be, so cut a dig */
|
||||||
newfrom[strlen(newfrom) - 1] = '\0';
|
newfrom[strlen(newfrom)-1] = '\0';
|
||||||
continue;
|
continue;
|
||||||
} /* if */
|
}
|
||||||
key.dptr = (char *) &ifrom;
|
key.dptr = (char *) &ifrom;
|
||||||
key.dsize = sizeof(US);
|
key.dsize = sizeof(US);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (lifrom >= 0x10000000L) { /* can't be, so cut a dig */
|
||||||
|
newfrom[strlen(newfrom)-1] = '\0';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
key.dptr = (char *) &lifrom;
|
key.dptr = (char *) &lifrom;
|
||||||
key.dsize = sizeof(UL);
|
key.dsize = sizeof(UL);
|
||||||
}
|
}
|
||||||
|
@ -571,29 +572,28 @@ static int _getAreacode(struct sth *sthp, char *from, char **text) {
|
||||||
if (*dbv == 'G') /* GDBM has a malloced string in dptr */
|
if (*dbv == 'G') /* GDBM has a malloced string in dptr */
|
||||||
free(value.dptr);
|
free(value.dptr);
|
||||||
return UNKNOWN;
|
return UNKNOWN;
|
||||||
}
|
}
|
||||||
if (*dbv == 'G') /* GDBM has a malloced string in dptr */
|
if (*dbv == 'G') /* GDBM has a malloced string in dptr */
|
||||||
*text = value.dptr;
|
*text = value.dptr;
|
||||||
else
|
else
|
||||||
*text = strdup(value.dptr);
|
*text = strdup(value.dptr);
|
||||||
return len;
|
return len;
|
||||||
} /* if dptr */
|
} /* if dptr */
|
||||||
newfrom[strlen(newfrom)-1] = '\0';
|
newfrom[strlen(newfrom)-1] = '\0';
|
||||||
}
|
}
|
||||||
return UNKNOWN;
|
return UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
int getAreacode(int provider, char *from, char **text)
|
int getAreacode(int country, char *from, char **text)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char *path=NULL;
|
|
||||||
for (i=0; i<count; i++)
|
for (i=0; i<count; i++)
|
||||||
if (sthp[i].provider == provider) {
|
if (sthp[i].cc == country) {
|
||||||
path = sthp[i].path ? sthp[i].path : sthp[sthp[i].real].path;
|
|
||||||
if (sthp[i].fh == 0)
|
if (sthp[i].fh == 0)
|
||||||
return UNKNOWN;
|
return UNKNOWN;
|
||||||
return _getAreacode(&sthp[i], from, text);
|
return _getAreacode(&sthp[i], from, text);
|
||||||
}
|
}
|
||||||
|
return UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef STANDALONE
|
#ifdef STANDALONE
|
||||||
|
@ -678,11 +678,11 @@ static int checkArea(char *df, int cc, char *from, int verbose) {
|
||||||
printf("%s\n", msg);
|
printf("%s\n", msg);
|
||||||
ret = getAreacode(cc, from, &text);
|
ret = getAreacode(cc, from, &text);
|
||||||
if(ret != UNKNOWN) {
|
if(ret != UNKNOWN) {
|
||||||
printf("%s:%d '%s'\n", from, ret, text);
|
printf("%s:%d '%s'\n", from, ret, text);
|
||||||
free(text);
|
free(text);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf("%s - UNKNOWN\n", from);
|
printf("%s - UNKNOWN\n", from);
|
||||||
exitZone(1);
|
exitZone(1);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -721,9 +721,9 @@ int main (int argc, char *argv[])
|
||||||
}
|
}
|
||||||
if (df && (zf || (num1 && num2)))
|
if (df && (zf || (num1 && num2)))
|
||||||
return checkZone(zf, df, num1, num2, verbose);
|
return checkZone(zf, df, num1, num2, verbose);
|
||||||
if (df && num1)
|
if (df && num1 && cc)
|
||||||
return checkArea(df, snum1, verbose);
|
return checkArea(df, cc, snum1, verbose);
|
||||||
fprintf(stderr, "Usage:\n%s -d DBfile -v -V { -z Zonefile | num1 num2 }\n", basename(argv[0]));
|
fprintf(stderr, "Usage:\n%s -d DBfile -v -V { -z Zonefile | num1 num2 | -a cc num}\n", basename(argv[0]));
|
||||||
fprintf(stderr, "\t-d DBfile -v -V num1\n");
|
fprintf(stderr, "\t-d DBfile -v -V num1\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,8 @@
|
||||||
# (C) 1999 l.toetsch <lt@toetsch.at>
|
# (C) 1999 l.toetsch <lt@toetsch.at>
|
||||||
#
|
#
|
||||||
BZIP2 = @BZIP2@
|
BZIP2 = @BZIP2@
|
||||||
BZIP2 = @BZIP2@
|
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
CFLAGS = -Wall -O2
|
CFLAGS = -Wall -g
|
||||||
INCLUDES =
|
INCLUDES =
|
||||||
LDFLAGS = @DBMLIB@
|
LDFLAGS = @DBMLIB@
|
||||||
DBEXT = @DBEXT@
|
DBEXT = @DBEXT@
|
||||||
|
@ -70,24 +69,37 @@ clean:
|
||||||
rm -f *.o *~ $(PROGRAM) *.db *.gdbm zone
|
rm -f *.o *~ $(PROGRAM) *.db *.gdbm zone
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
rm -f config.h config.status config.cache config.log *.man Makefile
|
rm -f config.h config.status config.cache config.log *.man Makefile configure
|
||||||
|
|
||||||
test:
|
test:
|
||||||
./$(PROGRAM) -d zone-at-pta$(DBEXT) -r at/pta/zred.pta -c at/code -v
|
./$(PROGRAM) -d zone-at-pta$(DBEXT) -r at/pta/zred.pta -c at/code -a43 -v
|
||||||
$(BZIP2) -d at/pta/zred.pta.bz2
|
$(BZIP2) -d at/pta/zred.pta.bz2
|
||||||
$(BZIP2) -d at/pta/zoneall.pta.bz2
|
$(BZIP2) -d at/pta/zoneall.pta.bz2
|
||||||
./zone -d zone-at-pta$(RDBEXT) -z at/pta/zoneall.pta -v
|
./zone -d zone-at-pta$(RDBEXT) -z at/pta/zoneall.pta -v
|
||||||
$(BZIP2) -9 at/pta/zred.pta
|
$(BZIP2) -9 at/pta/zred.pta
|
||||||
$(BZIP2) -9 at/pta/zoneall.pta
|
$(BZIP2) -9 at/pta/zoneall.pta
|
||||||
|
|
||||||
zonefiles:
|
#
|
||||||
|
# ATTENTION:
|
||||||
|
# zonedatabasefilenames must be zone-CC-*
|
||||||
|
#
|
||||||
|
zonefiles: AT DE NL
|
||||||
|
|
||||||
|
AT:
|
||||||
./$(PROGRAM) -d ../../zone-at-1012$(DBEXT) -r at/1012/zred-at-1012 -c at/code -v -l4
|
./$(PROGRAM) -d ../../zone-at-1012$(DBEXT) -r at/1012/zred-at-1012 -c at/code -v -l4
|
||||||
$(BZIP2) -d at/uta/zred.uta.bz2
|
$(BZIP2) -d at/uta/zred.uta.bz2
|
||||||
./$(PROGRAM) -d ../../zone-at-uta$(DBEXT) -r at/uta/zred.uta -c at/code -v
|
./$(PROGRAM) -d ../../zone-at-uta$(DBEXT) -r at/uta/zred.uta -c at/code -v
|
||||||
$(BZIP2) -9 at/uta/zred.uta
|
$(BZIP2) -9 at/uta/zred.uta
|
||||||
$(BZIP2) -d at/pta/zred.pta.bz2
|
$(BZIP2) -d at/pta/zred.pta.bz2
|
||||||
./$(PROGRAM) -d ../../zone-at-pta$(DBEXT) -r at/pta/zred.pta -c at/code -v
|
./$(PROGRAM) -d ../../zone-at-pta$(DBEXT) -r at/pta/zred.pta -c at/code -a43 -v
|
||||||
$(BZIP2) -9 at/pta/zred.pta
|
$(BZIP2) -9 at/pta/zred.pta
|
||||||
|
|
||||||
|
DE:
|
||||||
$(BZIP2) -d de/01033/zred.dtag.bz2
|
$(BZIP2) -d de/01033/zred.dtag.bz2
|
||||||
./$(PROGRAM) -d ../../zone-de-dtag$(DBEXT) -r de/01033/zred.dtag -c de/code -v
|
./$(PROGRAM) -d ../../zone-de-dtag$(DBEXT) -r de/01033/zred.dtag -c de/code -a49 -v
|
||||||
$(BZIP2) -9 de/01033/zred.dtag
|
$(BZIP2) -9 de/01033/zred.dtag
|
||||||
|
|
||||||
|
NL:
|
||||||
|
$(BZIP2) -d nl/kpn/zred.bz2
|
||||||
|
./$(PROGRAM) -d ../../zone-nl-kpn$(DBEXT) -r nl/kpn/zred -c nl/code -a31 -v -o3
|
||||||
|
$(BZIP2) -9 nl/kpn/zred
|
||||||
|
|
|
@ -126,9 +126,9 @@ sub read_compact {
|
||||||
my($temp) = unpack($pack_key, $key);
|
my($temp) = unpack($pack_key, $key);
|
||||||
next if( $temp !~ /\d/);
|
next if( $temp !~ /\d/);
|
||||||
if ($cc) {
|
if ($cc) {
|
||||||
my($ind);
|
my($ind);
|
||||||
my($ort) = substr($value,0, $ind=index($value, "\x0"));
|
my($ort) = substr($value,0, $ind=index($value, "\x0"));
|
||||||
$value = substr($value, $ind+1);
|
$value = substr($value, $ind+1);
|
||||||
}
|
}
|
||||||
my($count) = unpack('S', $value);
|
my($count) = unpack('S', $value);
|
||||||
$value=substr($value, 2); # past count
|
$value=substr($value, 2); # past count
|
||||||
|
|
|
@ -64,10 +64,10 @@ sub read_compact {
|
||||||
my($temp) = unpack($pack_key, $key);
|
my($temp) = unpack($pack_key, $key);
|
||||||
next if( $temp !~ /\d/);
|
next if( $temp !~ /\d/);
|
||||||
if ($cc) {
|
if ($cc) {
|
||||||
my($ind);
|
my($ind);
|
||||||
my($ort) = substr($value,0, $ind=index($value, "\x0"));
|
my($ort) = substr($value,0, $ind=index($value, "\x0"));
|
||||||
print "$temp $ort\n";
|
print "$temp $ort\n";
|
||||||
$value = substr($value, $ind+1);
|
$value = substr($value, $ind+1);
|
||||||
}
|
}
|
||||||
my($count) = unpack('S', $value);
|
my($count) = unpack('S', $value);
|
||||||
$value=substr($value, 2); # past count
|
$value=substr($value, 2); # past count
|
||||||
|
|
|
@ -22,9 +22,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static char progversion[] = "1.01";
|
static char progversion[] = "1.10";
|
||||||
/* first char must match dataversion */
|
/* first 3 chars must match dataversion */
|
||||||
|
|
||||||
|
|
||||||
#define STANDALONE
|
#define STANDALONE
|
||||||
|
|
||||||
|
@ -53,7 +52,7 @@ extern const char *basename (const char *name);
|
||||||
|
|
||||||
|
|
||||||
void usage(char *argv[]) {
|
void usage(char *argv[]) {
|
||||||
fprintf(stderr, "%s: -r RedZonefile -c Code -d Database [ -v ] [ -V ] [ -o Localzone ] [ -l Len ]\n",
|
fprintf(stderr, "%s: -r RedZonefile -d Database -c Code [-a CC] [ -v ] [ -V ] [ -o Localzone ] [ -l Len ]\n",
|
||||||
basename(argv[0]));
|
basename(argv[0]));
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
@ -72,11 +71,12 @@ static code_t *codes = 0;
|
||||||
static int nc;
|
static int nc;
|
||||||
static int ortszone=1;
|
static int ortszone=1;
|
||||||
static int numlen;
|
static int numlen;
|
||||||
|
static int country=0;
|
||||||
|
|
||||||
static void read_codefile(char *cf) {
|
static void read_codefile(char *cf) {
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char *p;
|
char *p;
|
||||||
auto char line[BUFSIZ];
|
auto char line[BUFSIZ];
|
||||||
|
|
||||||
nc = 0;
|
nc = 0;
|
||||||
if (verbose)
|
if (verbose)
|
||||||
|
@ -288,7 +288,8 @@ static void write_db(char * df) {
|
||||||
int i, j;
|
int i, j;
|
||||||
char version[80];
|
char version[80];
|
||||||
|
|
||||||
qsort(codes, nc, sizeof(code_t), comp_func);
|
if (country)
|
||||||
|
qsort(codes, nc, sizeof(code_t), comp_func);
|
||||||
if (verbose)
|
if (verbose)
|
||||||
printf("Writing\n");
|
printf("Writing\n");
|
||||||
if((db=OPEN(df,WRITE)) == 0) {
|
if((db=OPEN(df,WRITE)) == 0) {
|
||||||
|
@ -303,9 +304,9 @@ static void write_db(char * df) {
|
||||||
/* write version & table */
|
/* write version & table */
|
||||||
key.dptr = "vErSiO";
|
key.dptr = "vErSiO";
|
||||||
key.dsize = 7;
|
key.dsize = 7;
|
||||||
sprintf(version,"V1.00 K%c C%c N%d T%d O%d L%d",
|
sprintf(version,"V1.10 K%c C%c N%d T%d O%d L%d A%d",
|
||||||
keylen==2?'S':'L',tablelen==1?'C':tablelen==2?'S':'L',
|
keylen==2?'S':'L',tablelen==1?'C':tablelen==2?'S':'L',
|
||||||
nn,n, ortszone, numlen?numlen:keydigs);
|
nn,n, ortszone, numlen?numlen:keydigs, country);
|
||||||
value.dptr = version;
|
value.dptr = version;
|
||||||
value.dsize = strlen(version)+1;
|
value.dsize = strlen(version)+1;
|
||||||
if(STORE(db, key, value)) {
|
if(STORE(db, key, value)) {
|
||||||
|
@ -351,7 +352,8 @@ static void write_db(char * df) {
|
||||||
*((US*)val) = count;
|
*((US*)val) = count;
|
||||||
value.dptr = val;
|
value.dptr = val;
|
||||||
value.dsize = vlen;
|
value.dsize = vlen;
|
||||||
insert_code(&value, ofrom);
|
if (country)
|
||||||
|
insert_code(&value, ofrom);
|
||||||
if(STORE(db, key, value)) {
|
if(STORE(db, key, value)) {
|
||||||
fprintf(stderr, "Error storing key '%d' - %s\n",ofrom,GET_ERR);
|
fprintf(stderr, "Error storing key '%d' - %s\n",ofrom,GET_ERR);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
@ -407,10 +409,12 @@ static void write_db(char * df) {
|
||||||
*((US*)val) = count;
|
*((US*)val) = count;
|
||||||
value.dptr = val;
|
value.dptr = val;
|
||||||
value.dsize = vlen;
|
value.dsize = vlen;
|
||||||
insert_code(&value, ofrom);
|
if (country)
|
||||||
|
insert_code(&value, ofrom);
|
||||||
STORE(db, key, value);
|
STORE(db, key, value);
|
||||||
free(value.dptr);
|
free(value.dptr);
|
||||||
write_remaining_codes(db);
|
if (country)
|
||||||
|
write_remaining_codes(db);
|
||||||
CLOSE(db);
|
CLOSE(db);
|
||||||
free(zones);
|
free(zones);
|
||||||
free(df);
|
free(df);
|
||||||
|
@ -428,7 +432,7 @@ int main (int argc, char *argv[])
|
||||||
|
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
usage(argv);
|
usage(argv);
|
||||||
while ( (c=getopt(argc, argv, "vVr:d:c:o:l:")) != EOF) {
|
while ( (c=getopt(argc, argv, "vVr:d:c:o:l:a:")) != EOF) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'v' : verbose = true; break;
|
case 'v' : verbose = true; break;
|
||||||
case 'V' : printf("%s: V%s Db=%s\n",
|
case 'V' : printf("%s: V%s Db=%s\n",
|
||||||
|
@ -438,6 +442,7 @@ int main (int argc, char *argv[])
|
||||||
case 'c' : cf = strdup(optarg); break;
|
case 'c' : cf = strdup(optarg); break;
|
||||||
case 'o' : ortszone = atoi(optarg); break;
|
case 'o' : ortszone = atoi(optarg); break;
|
||||||
case 'l' : numlen = atoi(optarg); break;
|
case 'l' : numlen = atoi(optarg); break;
|
||||||
|
case 'a' : country = atoi(optarg); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
read_codefile(cf);
|
read_codefile(cf);
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue