#include "wand_head.h"

/* Uses seeded random xor to encrypt because setkey doesn't work on our
   system. */

crypt_file(name)
char *name;
{
    char buffer[1024];
    int  fd, length, loop;

#ifdef TOS
    if ((fd = open(name,O_RDONLY)) < 0) {
#else
    if ((fd = open(name,O_RDONLY)) == -1) {
#endif
	endwin();
	sprintf(buffer,"Wanderer: cannot open %s",name);
	perror(buffer);
	exit(1);
    }
    if ((length = read(fd,buffer,1024)) < 1) {
	endwin();
	sprintf(buffer,"Wanderer: read error on %s",name);
	perror(buffer);
	exit(1);
    }
    close(fd);

/* Right, got it in here, now to encrypt the stuff */

    addstr("Running crypt routine....\n");
    refresh();

    srand(BLURFL);
    for (loop = 0; loop < length; loop++)
	buffer[loop] ^= rand();

#ifdef TOS
    if ((fd = open(name,O_WRONLY|O_TRUNC)) < 0) {
#else
    if ((fd = open(name,O_WRONLY|O_TRUNC)) == -1) {
#endif
	endwin();
	sprintf(buffer,"Wanderer: cannot write to %s",name);
	perror(buffer);
	exit(1);
    }
    if (write(fd,buffer,length) != length) {
	endwin();
	sprintf(buffer,"Wanderer: write error on %s",name);
	perror(buffer);
	exit(1);
    }
    close(fd);

/* ok, file now contains encrypted/decrypted game. */
/* lets go back home... */
}
