
#include <time.h>
#include <exec/types.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <dos/dos.h>

/*
**
** example of usage: CrashCheck miami:.phonelog
**
** to compile (with SAS/C) type: SC CrashCheck.c LINK
**
*/

char ver[] = "$VER: CrashCheck 1.0 " __AMIGADATE__ " © Marcin Orlowski <carlos@amiga.com.pl>";

void main (int argc, char *argv [])
{
FILE *in;
char crash = FALSE;

        if(argc != 2)
                {
                printf("USAGE: CrashCheck LogFile\n");
                exit(5);
                }

        if(in = fopen(argv[1], "ra"))
                {
                char buffer[1024];
                char checktext1[] = "Active Offline:";
                char checktext2[] = "Passive Offline:";
				char match = 0;

                while(fgets(buffer, sizeof(buffer), in) != NULL);
                fclose(in);

                if(strncmp(buffer, checktext1, strlen(checktext1)) != 0) match++;
                if(strncmp(buffer, checktext2, strlen(checktext2)) != 0) match++;

				if(match == 2)
					crash = TRUE;

                if(crash == TRUE)
                        {
                        if(in = fopen(argv[1], "a"))
                                {
                                char output[80];
                                struct tm *p;
                                long t;
                                char   _date[12];
                                char   _time[10];

                        time(&t);
                        p = localtime(&t);
                        sprintf(_date     , "%02d.%02d.%04d", p->tm_mday, p->tm_mon+1, p->tm_year+1900);
                        sprintf(_time     , "%02d:%02d:%02d", p->tm_hour, p->tm_min, p->tm_sec);

                                sprintf(output, "Active Offline: %s %s\n", _date, _time);
                                fputs(output, in);

                                fclose(in);
                                }
                else
                        {
                        printf("** Can't write to Miami logfile \"%s\"\n", argv[1]);
                        exit(5);
                        }

                        }

                }
        else
                {
                printf("** Can't read Miami logfile \"%s\"\n", argv[1]);
                exit(5);
                }
}
