1 #include "cc.h" 2 #include <sys/wait.h> 3 4 void* 5 mysbrk(ulong size) 6 { 7 return (void*)sbrk(size); 8 } 9 10 int 11 mycreat(char *n, int p) 12 { 13 14 return create(n, 1, p); 15 } 16 17 int 18 mywait(int *s) 19 { 20 return wait(s); 21 } 22 23 int 24 mydup(int f1, int f2) 25 { 26 if(f2 < 0) 27 return dup(f1); 28 return dup2(f1,f2); 29 } 30 31 int 32 mypipe(int *fd) 33 { 34 return pipe(fd); 35 } 36 37 int 38 systemtype(int sys) 39 { 40 41 return sys&Unix; 42 } 43 44 int 45 pathchar(void) 46 { 47 return '/'; 48 } 49 50 char* 51 mygetwd(char *path, int len) 52 { 53 return (char*)getcwd(path, len); 54 } 55 56 int 57 myexec(char *path, char *argv[]) 58 { 59 return execvp(path, argv); 60 } 61 62 /* 63 * fake mallocs 64 */ 65 void* 66 malloc(size_t n) 67 { 68 return alloc(n); 69 } 70 71 void* 72 calloc(size_t m, size_t n) 73 { 74 return alloc(m*n); 75 } 76 77 void* 78 realloc(void *p, size_t n) 79 { 80 fprint(2, "realloc called\n"); 81 abort(); 82 return 0; 83 } 84 85 void 86 free(void *p) 87 { 88 } 89 90 int 91 myfork(void) 92 { 93 return fork(); 94 } 95 96 int 97 myaccess(char *f) 98 { 99 return access(f, 0); 100 } 101