Mercurial > hg > octave-nkf
diff liboctave/lo-cutils.c @ 15221:a83b7b2f95ee
avoid C-style cast warnings from GCC for wait-related macros
* lo-utils.h (octave_wait): New class.
* lo-cutils.h, lo-cutils.c (octave_wifexited, octave_wexitstatus,
octave_wifsignaled, octave_wtermsig, octave_wcoredump,
octave_wifstopped, octave_wstopsig, octave_wifcontinued):
New functions.
* toplev.cc, pager.cc, syscalls.cc: Use octave_wait functions instead
of WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP,
WIFSTOPPED, WSTOPSIG, WIFCONTINUED macros.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 23 Aug 2012 12:18:08 -0400 |
parents | 0ab3dd0fad18 |
children | a0af93de0ba3 |
line wrap: on
line diff
--- a/liboctave/lo-cutils.c +++ b/liboctave/lo-cutils.c @@ -76,3 +76,115 @@ { return WAITPID (pid, status, options); } + +OCTAVE_API int octave_wifexited (int status) +{ + int retval = 0; + +#if defined (WIFEXITED) + retval = WIFEXITED (status); +#else + (*liboctave_warning_handler) + ("WIFEXITED always returns false in this version of Octave"); +#endif + + return retval; +} + +OCTAVE_API int octave_wexitstatus (int status) +{ + int retval = 0; + +#if defined (WEXITSTATUS) + retval = WEXITSTATUS (status); +#else + (*liboctave_warning_handler) + ("WEXITSTATUS always returns 0 in this version of Octave"); +#endif + + return retval; +} + +OCTAVE_API int octave_wifsignaled (int status) +{ + int retval = 0; + +#if defined (WIFSIGNALED) + retval = WIFSIGNALED (status); +#else + (*liboctave_warning_handler) + ("WIFSIGNALED always returns false in this version of Octave"); +#endif + + return retval; +} + +OCTAVE_API int octave_wtermsig (int status) +{ + int retval = 0; + +#if defined (WTERMSIG) + retval = WTERMSIG (status); +#else + (*liboctave_warning_handler) + ("WTERMSIG always returns 0 in this version of Octave"); +#endif + + return retval; +} + +OCTAVE_API int octave_wcoredump (int status) +{ + int retval = 0; + +#if defined (WCOREDUMP) + retval = WCOREDUMP (status); +#else + (*liboctave_warning_handler) + ("WCOREDUMP always returns false in this version of Octave"); +#endif + + return retval; +} + +OCTAVE_API int octave_wifstopped (int status) +{ + int retval = 0; + +#if defined (WIFSTOPPED) + retval = WIFSTOPPED (status); +#else + (*liboctave_warning_handler) + ("WIFSTOPPED always returns false in this version of Octave"); +#endif + + return retval; +} + +OCTAVE_API int octave_wstopsig (int status) +{ + int retval = 0; + +#if defined (WSTOPSIG) + retval = WSTOPSIG (status); +#else + (*liboctave_warning_handler) + ("WSTOPSIG always returns 0 in this version of Octave"); +#endif + + return retval; +} + +OCTAVE_API int octave_wifcontinued (int status) +{ + int retval = 0; + +#if defined (WIFCONTINUED) + retval = WIFCONTINUED (status); +#else + (*liboctave_warning_handler) + ("WIFCONTINUED always returns false in this version of Octave"); +#endif + + return retval; +}