Mercurial > octave
view liboctave/util/lo-cutils.c @ 21213:f7d1050b9b53
maint: Clean up various usages of #ifdef.
* randmtzig.c: Use #ifdef rather than just #if.
* EditControl.h : Use '#if ! defined' rather than '#ifndef' in
guard block to match Octave style.
* dialog.cc, settings-dialog.cc: Add FIXME notes about questionable use of #if
mechanism.
* file-editor-tab.cc, Array-b.cc, Array-ch.cc, Array-d.cc, Array-f.cc,
Array-i.cc, Array-s.cc, MatrixType.h, quit.h, lo-sysdep.cc, lo-cutils.c,
oct-alloc.h, oct-shlib.cc, sparse-sort.h: #define HAVE_XXX macros to 1, not
just empty but defined.
* octave-txt-lexer.h, octave-cmd.h, octave-preserve-stream-state.h, txt-eng.h,
zfstream.h, oct-conf-features.h, oct-conf.h: Use octave_ namespace prefix on
name of #define used to prevent multiple inclusion of headers.
* parser.h, webinfo.h, ov-oncleanup.h, op-int.h, display-available.h,
shared-fcns.h: Add #define guard to prevent multiple inclusion.
* quadcc.cc: use all capitals for #define MIN_CQUAD_HEAPSIZE.
* ov-intx.h: Add note that this file must not use guard #define.
* eigs-base.h, randmtzig.h: Write '! defined' rather than '!defined'.
* file-ops.cc, oct-sparse.h: Use parentheses around complex #if tests.
* oct-syscalls.cc, oct-base64.cc, statdefs.h: Indent #ifdef blocks correctly.
* oct-conf-post.in.h: Use "! defined". Define macros to 1, not just empty but
defined.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 06 Feb 2016 18:22:32 -0800 |
parents | f7121e111991 |
children | 5d23ea5c733a |
line wrap: on
line source
/* Copyright (C) 2000-2015 John W. Eaton This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #ifdef HAVE_CONFIG_H # include <config.h> #endif #include "lo-error.h" /* This gives us a better chance of finding a prototype for strptime on some systems. */ #if ! defined (_XOPEN_SOURCE) # define _XOPEN_SOURCE 1 #endif #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "lo-cutils.h" #include "syswait.h" OCTAVE_API void octave_qsort (void *base, size_t n, size_t size, int (*cmp) (const void *, const void *)) { qsort (base, n, size, cmp); } OCTAVE_API int octave_strcasecmp (const char *s1, const char *s2) { return strcasecmp (s1, s2); } OCTAVE_API int octave_strncasecmp (const char *s1, const char *s2, size_t n) { return strncasecmp (s1, s2, n); } #ifdef HAVE_LOADLIBRARY_API # include <windows.h> /* Need this since in C++ can't cast from int(*)() to void* */ OCTAVE_API void * octave_w32_library_search (HINSTANCE handle, const char * name) { return (GetProcAddress (handle, name)); } #endif OCTAVE_API pid_t octave_waitpid (pid_t pid, int *status, int options) { return WAITPID (pid, status, options); } static inline void warn_missing_wait_macro (const char *id, int status) { (*current_liboctave_warning_handler) ("%s always returns false in this version of Octave; status = %d", id, status); } OCTAVE_API int octave_wifexited (int status) { int retval = 0; #if defined (WIFEXITED) retval = WIFEXITED (status); #else warn_missing_wait_macro ("WIFEXITED", status); #endif return retval; } OCTAVE_API int octave_wexitstatus (int status) { int retval = 0; #if defined (WEXITSTATUS) retval = WEXITSTATUS (status); #else warn_missing_wait_macro ("WEXITSTATUS", status); #endif return retval; } OCTAVE_API int octave_wifsignaled (int status) { int retval = 0; #if defined (WIFSIGNALED) retval = WIFSIGNALED (status); #else warn_missing_wait_macro ("WIFSIGNALED", status); #endif return retval; } OCTAVE_API int octave_wtermsig (int status) { int retval = 0; #if defined (WTERMSIG) retval = WTERMSIG (status); #else warn_missing_wait_macro ("WTERMSIG", status); #endif return retval; } OCTAVE_API int octave_wcoredump (int status) { int retval = 0; #if defined (WCOREDUMP) retval = WCOREDUMP (status); #else warn_missing_wait_macro ("WCOREDUMP", status); #endif return retval; } OCTAVE_API int octave_wifstopped (int status) { int retval = 0; #if defined (WIFSTOPPED) retval = WIFSTOPPED (status); #else warn_missing_wait_macro ("WIFSTOPPED", status); #endif return retval; } OCTAVE_API int octave_wstopsig (int status) { int retval = 0; #if defined (WSTOPSIG) retval = WSTOPSIG (status); #else warn_missing_wait_macro ("WSTOPSIG", status); #endif return retval; } OCTAVE_API int octave_wifcontinued (int status) { int retval = 0; #if defined (WIFCONTINUED) retval = WIFCONTINUED (status); #else warn_missing_wait_macro ("WIFCONTINUED", status); #endif return retval; }