#include #include #include #include #include #include #include #include #include #define DEBUG(x) fprintf x ; static inline pid_t Fork(void) { pid_t pid; if ((pid=fork()) < 0) { perror(""); exit(1); } return pid; } static inline int Execl(const char *path, const char *arg0, ...) { int rc; if ((rc=execl(path,arg0,0)) < 0) { perror(""); exit(1); } return rc; } static inline int Execvp(const char *path, char * const argv[]) { int rc; if ((rc=execvp(path,argv)) < 0) { perror(""); exit(1); } return rc; } static inline pid_t Wait(int *status) { pid_t pid; if ((pid=wait(status)) < 0) { perror(""); exit(1); } return pid; } static inline pid_t Waitpid(pid_t pid, int *status, int options) { pid_t ret; if ((ret=waitpid(pid,status,options)) < 0) { perror(""); exit(1); } return ret; }