You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.1 KiB
57 lines
1.1 KiB
#include <stdio.h>
|
|
#include "util.h"
|
|
|
|
|
|
main(argc, argv, environ)
|
|
int argc;
|
|
char **argv;
|
|
char **environ;
|
|
{
|
|
int i;
|
|
char **ep, *prog;
|
|
|
|
prog = util_path_search(argv[0]);
|
|
if (prog == NIL(char)) {
|
|
(void) fprintf(stderr, "Cannot find current executable\n");
|
|
exit(1);
|
|
}
|
|
util_restart(prog, "a.out", 0);
|
|
|
|
i = recur(10);
|
|
(void) fprintf(stderr, "terminated normally with i = %d\n", i);
|
|
|
|
(void) printf("argc is %d\n", argc);
|
|
|
|
for(i = 0, ep = argv; *ep != 0; i++, ep++) {
|
|
(void) printf("%08x (%08x-%08x)\targv[%d]:\t%s\n",
|
|
ep, *ep, *ep + strlen(*ep), i, *ep);
|
|
}
|
|
|
|
i = 0;
|
|
for(i = 0, ep = environ; *ep != 0; ep++, i++) {
|
|
(void) printf("%08x (%08x-%08x)\tenviron[%d]:\t%s\n",
|
|
ep, *ep, *ep + strlen(*ep), i, *ep);
|
|
}
|
|
|
|
(void) fprintf(stderr, "returning with status=4\n");
|
|
return 4;
|
|
}
|
|
|
|
|
|
recur(cnt)
|
|
{
|
|
int i, j, sum;
|
|
|
|
if (cnt > 0) {
|
|
return recur(cnt-1);
|
|
} else {
|
|
sum = 0;
|
|
for(j = 0; j < 20; j++) {
|
|
for(i = 0; i < 100000; i++) {
|
|
sum += 1;
|
|
}
|
|
(void) printf("done loop %d\n", j);
|
|
}
|
|
return sum;
|
|
}
|
|
}
|