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