/*
- main.c - Datentraegeraustausch mit einer Bank
- Copyright (c) 1996,8 Martin Schulze <joey@orgatech.de>
+ main.c - Belegloser Datenträgeraustausch mit einer Bank
+ Copyright (c) 1996,8,2001-4 Martin Schulze <joey@infodrom.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
$Id$
*/
-static char version[] = "0.2.1";
+static char version[] = "0.6";
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
#include "dtaus.h"
+char *dtaus = "dtaus0.txt";
+char *control = "dtaus0.ctl";
+char *beleg = "dtaus0.doc";
+char *check = "dtaus0.sik";
+
void help ()
{
printf ("dtaus - Belegloser Datenträgeraustausch mit einer Bank\n\n");
printf (" -dtaus Erzeugt eine Bankdatei\n");
printf (" -control Liest eine Bankdatei und erzeugt die Kontrolldatei\n");
printf ("\n");
- printf (" -d <dtaus> Bankdatei [dtaus0.txt]\n");
- printf (" -c <control> Steuerdatei [dtaus0.ctl]\n");
- printf (" -b <begleit> Begleitzettel für die Bank dtaus0.doc]\n");
- printf (" -o <kontroll> Kontrolldatei zum Abheften [dtaus0.sik]\n");
+ printf (" -d <dtaus> Bankdatei [%s]\n", dtaus);
+ printf (" -c <control> Steuerdatei [%s]\n", control);
+ printf (" -b <begleit> Begleitzettel für die Bank [%s]\n", beleg);
+ printf (" -o <kontroll> Kontrolldatei zum Abheften [%s]\n", check);
}
#define DTAUS 1
#define CONTROL 2
-void main (int argc, char **argv)
+int main (int argc, char **argv)
{
- char *dtaus[60];
- char *control[60];
- char *beleg[60];
- char *check[60];
int action = 0;
int i = 0;
struct stat sbuf;
- strcpy ((char *)dtaus, "dtaus0.txt");
- strcpy ((char *)control, "dtaus0.ctl");
- strcpy ((char *)beleg, "dtaus0.doc");
- strcpy ((char *)check, "dtaus0.sik");
-
while (argc - i > 1) {
i++;
if ( !strcmp(argv[i], "-h") ) {
help(); exit(0);
} else if ( !strcmp(argv[i], "-v") ) {
- printf ("dtaus version %s - Copyright (c) 1997,8 by Martin Schulze <joey@infodrom.north.de>\n", version);
+ printf ("dtaus version %s - Copyright (c) 1997,8,2001 by Martin Schulze <joey@infodrom.org>\n", version);
exit (0);
} else if ( !strcmp(argv[i], "-d") ) {
if (argc - i > 1) {
i++;
- strcpy ((char *)dtaus, argv[i]);
+ dtaus = argv[i];
}
} else if ( !strcmp(argv[i], "-c") ) {
if (argc - i > 1) {
i++;
- strcpy ((char *)control, argv[i]);
+ control = argv[i];
}
} else if ( !strcmp(argv[i], "-b") ) {
if (argc - i > 1) {
i++;
- strcpy ((char *)beleg, argv[i]);
+ beleg = argv[i];
}
} else if ( !strcmp(argv[i], "-o") ) {
if (argc - i > 1) {
i++;
- strcpy ((char *)check, argv[i]);
+ check = argv[i];
}
} else if ( !strcmp(argv[i], "-dtaus") ) {
action = DTAUS;
}
if (action == DTAUS) {
- if (!stat((char *)control, &sbuf))
- control2dtaus ((char *)control, (char *)dtaus, (char *)beleg, (char *)check);
- else exit (1);
+ if (!strcmp("-", control) || !stat(control, &sbuf)) {
+ if (control2dtaus (control, dtaus, beleg, check) == 0)
+ exit (1);
+ }
+ else {
+ fprintf( stderr, "Can't stat %s\n", control);
+ exit (1);
+ }
} else if (action == CONTROL) {
- if (!stat((char *)dtaus, &sbuf))
- dtaus2control ((char *)dtaus, (char *)control);
- else exit (1);
+ if (!strcmp("-",dtaus) || !stat(dtaus, &sbuf))
+ dtaus2control (dtaus, control);
+ else {
+ fprintf( stderr, "Can't stat %s\n", dtaus);
+ exit (1);
+ }
} else {
printf ("Keine Routine angegeben (-dtaus bzw. -control vergessen).\n");
exit (1);
}
+ exit (0);
}