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; | |
|     } | |
| }
 |