Public feed #723762

rawr1

public text v1 · immutable
Raw Edit
·published 2007-10-03 00:43 UTC
rendered paste body
// redundancy checker.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


int main(int argc, char *argv[])
{
	long int counter, long_initalizer, temp;
	int initalizer;
	char c, redundancy_array[256], whole_file[sizeof(long)];
	FILE *ifp, *ofp;

	if( argc != 6 ) {
		printf("\n%s%s%s\n%s%s%s\n%s%s%s\n",
			"Usage: ", argv[0]," <infile> <variable_redundancy> <METAMORPHOSIS_PARAMS> (optional)<SET_TO> (optional)<outfile>", 
			"Example: ", argv[0]," MyInfile.txt getridofthis DELETE NULL MyOutfile.txt", 
			"Example: ", argv[0]," myinfile.txt MustChange SET 1 INPUT");
		exit(1);
	}

	if( argv[5] == "INPUT" || argv[5] == "input" )
		ifp = fopen( argv[1], "r+" );
	else {
		ifp = fopen( argv[1], "r" );
		ofp = fopen( argv[5], "w" );
	}

	for( initalizer = 0; initalizer < 256; initalizer++ )		/*always initalize array to 0 instead of null for integers, C++ doesn't handle accessing nulls well unlike UScript */
		redundancy_array[initalizer] = '\0';
	for( long_initalizer = 0; long_initalizer < sizeof(long); long_initalizer++ )
		whole_file[long_initalizer] = '\0';

	for( counter = 0; (c = getc(ifp)) != EOF; counter++ ) {
		++initalizer;
		whole_file[counter] = c;
		redundancy_array[initalizer - 1] = c;

		if( c == '\n' ) {
			for( temp = 0; redundancy_array[temp] != '=' || redundancy_array[temp] != ' '; temp++ ) { }
			for( ; redundancy_array[temp] != '\n'; temp++ )
				redundancy_array[temp] = '\0';

			if( redundancy_array == argv[2] ) {
				if( argv[3] == "DELETE" || argv[3] == "delete" ) {
					for( ; whole_file[counter - initalizer] != '\n'; initalizer-- )
						whole_file[counter - initalizer] = '\0';
				} else if( argv[3] == "SET" || argv[3] == "set" ) {
					for( ; whole_file[counter - initalizer] != '='; initalizer-- ) { }
					for( temp = counter - initalizer + 1; whole_file[temp] != '\n'; temp++ )
						whole_file[temp] = '\0';
					whole_file[counter - initalizer + 1] = *argv[4];
				}
			}

			for( initalizer = 0; initalizer < 256; initalizer++ )
				redundancy_array[initalizer] = 0;
			initalizer = 0;
		}
	}
	fprintf( ifp, "%s", whole_file );
	fclose( ifp );
	fclose( ofp );
	return 0;
}