diff options
author | Ton Voon <tonvoon@users.sourceforge.net> | 2006-11-03 15:40:33 +0000 |
---|---|---|
committer | Ton Voon <tonvoon@users.sourceforge.net> | 2006-11-03 15:40:33 +0000 |
commit | a5a4996a639101859bc183c85b33a6e04f5133f9 (patch) | |
tree | 67a3017ae2353ae1f9d39a8461d85314d22efaef /lib/alloca_.h | |
parent | fea92b5c044330a3c6dcc3438bebb9c18ccfc971 (diff) | |
download | monitoring-plugins-a5a4996a639101859bc183c85b33a6e04f5133f9.tar.gz |
Add alloca files, required for *BSD
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1534 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'lib/alloca_.h')
-rw-r--r-- | lib/alloca_.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/alloca_.h b/lib/alloca_.h new file mode 100644 index 00000000..3e3fdf43 --- /dev/null +++ b/lib/alloca_.h @@ -0,0 +1,52 @@ +/* Memory allocation on the stack. + + Copyright (C) 1995, 1999, 2001, 2002, 2003, 2004 Free Software + Foundation, Inc. + + This program 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 2, or (at your option) + any later version. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + USA. */ + +/* Avoid using the symbol _ALLOCA_H here, as Bison assumes _ALLOCA_H + means there is a real alloca function. */ +#ifndef _GNULIB_ALLOCA_H +# define _GNULIB_ALLOCA_H + +/* alloca (N) returns a pointer to N bytes of memory + allocated on the stack, which will last until the function returns. + Use of alloca should be avoided: + - inside arguments of function calls - undefined behaviour, + - in inline functions - the allocation may actually last until the + calling function returns, + - for huge N (say, N >= 65536) - you never know how large (or small) + the stack is, and when the stack cannot fulfill the memory allocation + request, the program just crashes. + */ + +#ifdef __GNUC__ +# define alloca __builtin_alloca +#elif defined _AIX +# define alloca __alloca +#elif defined _MSC_VER +# include <malloc.h> +# define alloca _alloca +#else +# include <stddef.h> +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +#endif + +#endif /* _GNULIB_ALLOCA_H */ |