This doesn't compile. > Patch 7.3.296 > Problem: When writing to an external command a zombie process may be left > behind. > Solution: Wait on the process. (James Vega) > Files: src/os_unix.c > > > *** ../vim-7.3.295/src/os_unix.c 2011-09-07 14:06:38.000000000 +0200 > --- src/os_unix.c 2011-09-07 14:54:11.000000000 +0200 > *************** > *** 154,159 **** > --- 154,166 ---- > > static void may_core_dump __ARGS((void)); > > + #ifdef HAVE_UNION_WAIT > + typedef union wait waitstatus; > + #else > + typedef int waitstatus; > + #endif > + static int wait4pid __ARGS((pid_t, waitstatus *));
wait4pid is declared as returning int here, but ... > static int WaitForChar __ARGS((long)); > #if defined(__BEOS__) > int RealWaitForChar __ARGS((int, long, int *)); > *************** > *** 3660,3665 **** > --- 3667,3713 ---- > /* Nothing to do. */ > } > > + /* > + * Wait for process "child" to end. > + * Return "child" if it exited properly, <= 0 on error. > + */ > + static pid_t > + wait4pid(child, status) > + pid_t child; > + waitstatus *status; ... defined as returning pid_t here. At least with Sun Studio, this is a redeclaration error. Changing the declaration to return pid_t lets it compile. Thanks, Danek -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
