
/*
 * Real Simple Rot Util
 * see dates below
 *
 * copyright by kennedy
 */

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

#define AVER	"1.1"
#define ADATE	"29.Jul.94"

const char *vers = "$VER: RealSimpleRot v"AVER", ©"ADATE" by jools";

int main(int, char *[]);
char rot(char);

int main(int argc, char *argv[])
	{
	FILE *fpin, *fpout;
	int count;
	char c;

	if(argc!=3 || argv[1][0]=='?')
		{
		printf("usage: %s <infile> <outfile>\n", argv[0]);
		exit(5);
		}
	if(!(fpin=fopen(argv[1], "r")))
		{
		printf("error opening %s for input\n", argv[1]);
		exit(10);
		}
	if(!(fpout=fopen(argv[2], "w")))
		{
		printf("error opening %s for output\n", argv[2]);
		exit(10);
		}
	for(count=0;;count++)
		{
		c=fgetc(fpin);
		if(!feof(fpin)) fputc(rot(c), fpout);
		else break;
		}
	printf("successful, %d chars rotted\n", count);
	exit(0);
	}

char rot(char c)
	{
	if(isalpha(c))
		{
		if(c>(isupper(c)?'M':'m')) c-=26;
		c+=13;
		}
	return c;
	}
