#include <stdio.h>

#define NAME "extsplt"
#define VERSION "1.1"

#define FATAL 1
#define MAXLEN 31000L

void main(int argc, char *argv[])
{

	int c;
	long i;
	long j;

	FILE *fi,*fo;
	printf("[%s:%s] Copyright (c) 1991 Andrew Gaunt.\n",NAME,VERSION);
	printf("Do not use without express permission from the author.\n");
	if (argc!=4){
		printf("usage: extsplt message_sep infile outfile\n");
		exit(FATAL);
	}
	if ( (fi=fopen(argv[2],"rb")) == NULL){
		printf("ERROR: can't open input file.\n");
		exit(FATAL);
	}
	if ( (fo=fopen(argv[3],"ab")) == NULL){
		printf("ERROR: can't open output file.\n");
		exit(FATAL);
	}
	printf("Processing %s->%s [%s v%s] ...\n",argv[2],argv[3],NAME,VERSION);
	i=0;
	j=0;
	while( (c=fgetc(fi)) != EOF){
		i++;
		j++;
/* 		printf("[%-06ld]\r",i); */
		if (i>(MAXLEN-128)){
			if(c=='\n'){

				printf("Split at newline mesglen[%ld] char[%ld].\n",i,j);
				fprintf(fo,"\r\n\r\n[ Continued ...]\r\n\r\n",argv[1]);
				fprintf(fo,"%s\r\n\r\n[ Continuation ]\r\n\r\n",argv[1]);
				i=0;
			}
		}
		if (i>MAXLEN){

			printf("Split in line mesglen[%ld] char[%ld].\n",i,j);
			fprintf(fo,"\r\n\r\n[ Continued ...]\r\n\r\n",argv[1]);
			fprintf(fo,"%s\r\n\r\n[ Continuation ]\r\n\r\n",argv[1]);

			i=0;
		}
		fputc(c,fo);
	}
	printf("%ld characters; DONE!\n",j);
	fclose(fi);
	fclose(fo);
}


