//
// Copyright(C) Simon Howard
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
// IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
//
// Convert text files to DOS format.
//

#include <stdio.h>
#include <stdlib.h>

#define TEMP_FILENAME "xyzzy_todos_tempfile"

void todos(char *filename)
{
	FILE *infile, *outfile;

	infile = fopen(filename, "rb");

	if(!infile) {
		printf("cant open %s for reading\n", filename);
		perror("todos:fopen");
	}

	outfile = fopen(TEMP_FILENAME, "wb");

	if(!outfile) {
		printf("cant open %s for output\n", TEMP_FILENAME);
		perror("todos:fopen");
	}

	while(!feof(infile)) {
		unsigned char c;

		fread(&c, sizeof(c), 1, infile);

		if(c == '\n') {
			fwrite("\r\n", 2, 1, outfile);
		} else {
			fwrite(&c, 1, 1, outfile);
		}
	}

	fclose(infile);
	fclose(outfile);

	remove(filename);
	rename(TEMP_FILENAME, filename);
}

int main(int argc, char *argv[])
{
	int i;

	for(i=1; i<argc; i++) {
		todos(argv[i]);
	}
}

