aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c34
1 files changed, 20 insertions, 14 deletions
diff --git a/src/main.c b/src/main.c
index f7fc417..3b2fcc0 100644
--- a/src/main.c
+++ b/src/main.c
@@ -25,27 +25,27 @@
#include <tgeb/tgebup.h>
extern char *__progname;
-const char *copyright = "$ TGeb parasite 0.1 -" \
+const char *copyright = "$ TGeb parasite 0.2 -" \
" Copyright (c) 2004 demon <demon@vhost.dyndns.org> $";
void usage(void);
-void prdt(struct an_d *, struct ta_d *);
+void prdt(AN_D *, TA_D *);
int
main(int argc, char **argv)
{
- struct an *an;
- struct ta *ta;
- struct au *au;
- struct sorted sd;
+ AN *an;
+ TA *ta;
+ AU *au;
+ SORTED *sd;
char ch;
int reg = 0;
int flags = 0;
time_t tval = time(NULL);
struct tm *tm = localtime(&tval);
int time = tm->tm_hour;
- int quant = 3;
- int i;
+ int quant = 3;
+ int i;
while ((ch = getopt(argc, argv, "CRP9nrfo12eONE?h:q:u")) != -1)
switch (ch) {
@@ -124,23 +124,29 @@ main(int argc, char **argv)
au = tgeb_read_au("ausland.dat");
ta = tgeb_read_ta("tarife.dat", au);
- if (an->e_q != ta->q)
+ if (an->e_q != ta->q) {
errx(1, "database missmatch - obtain new files");
-
+ }
sd = tgeb_select(ta, an, reg, flags, time);
- for (i = 0; i < sd.q; i++) {
- prdt(&an->e[sd.id[i]], sd.data[i]);
+ for (i = 0; i < sd->q; i++) {
+ prdt(&an->e[sd->id[i]], sd->data[i]);
if ((i + 1) >= quant)
break;
}
+ tgeb_free_sd(sd);
+
+ tgeb_free_ta(ta);
+ tgeb_free_au(au);
+ tgeb_free_an(an);
+
exit(0);
return 0;
}
void
-prdt(struct an_d * an_d, struct ta_d * ta_d)
+prdt(AN_D * an_d, TA_D * ta_d)
{
printf("(%.2u)\tPrefix:\t%s\n"
"\tName:\t%s"
@@ -150,7 +156,7 @@ prdt(struct an_d * an_d, struct ta_d * ta_d)
an_d->h->name,
an_d->serv);
printf("\tValid:\t%.2u:00 - %.2u:00 h\n",
- ta_d->prev ? ta_d->prev->time : (char)NULL,
+ ta_d->prev ? ta_d->prev->time : (char) NULL,
ta_d->time);
printf("\tFee:\t%.2f ct/min"
" + %.2f ct\n"