entry at other than main (was: want to know)

Peter da Silva peter at ficc.uu.net
Tue Sep 5 22:17:43 AEST 1989


----cut here... rcc.c----
/* Special 'cc' for Herman Rubin. */
#include <stdio.h>

/* usage: rcc entry-point cc-options */

main(ac, av)
int ac;
char **av;
{
	FILE *fp;
	char *cc;
	char *getenv();

	if(ac < 2) {
		fprintf(stderr, "%s: missing argument\n", av[0]);
		exit(2);
	}

	if(!(fp = fopen("real_main.c", "w"))) {
		perror("real_main.c");
		exit(1);
	}

	fprintf(fp, "main(ac, av, ep);\n");
	fprintf(fp, "int ac;\n");
	fprintf(fp, "char **av, **ep;\n");
	fprintf(fp, "{\n");
	fprintf(fp, "\treturn %s(ac, av, ep);\n", av[1]);
	fprintf(fp, "}\n");

	fclose(fp);

	cc = getenv("CC");
	if(!cc) cc = "cc";

	av[0] = cc;
	av[1] == "real_main.c";

	execvp(cc, av);

	perror(cc);
	exit(1);
}
-- 
Peter da Silva, *NIX support guy @ Ferranti International Controls Corporation.
Biz: peter at ficc.uu.net, +1 713 274 5180. Fun: peter at sugar.hackercorp.com. `-_-'
"The Distribution: field on the header has been modified so as not to      'U`
 violate Information Export laws." -- eugene miya, NASA Ames Research Center.



More information about the Comp.lang.c mailing list