Mixe for Privacy and Anonymity in the Internet
system.h
Go to the documentation of this file.
1 #ifdef __NeXT
2 /* access macros are not declared in non posix mode in unistd.h -
3  don't try to use posix on NeXTstep 3.3 ! */
4 #include <libc.h>
5 #endif
6 
7 
8 #ifdef __ICC
9  #define HAVE_ALLOCA_H
10  //#define alloca(size) _alloca(size)
11 #else
12 /* AIX requires this to be the first thing in the file. */
13  #ifndef __GNUC__
14  #ifdef HAVE_ALLOCA_H
15  #include <alloca.h>
16  #else
17  #ifdef _AIX
18  #pragma alloca
19  #else
20  #ifndef alloca /* predefined by HP cc +Olibcalls */
21  char *alloca ();
22  #endif
23  #endif
24  #endif
25  #elif defined(__GNUC__) && defined(__STRICT_ANSI__)
26  #define alloca __builtin_alloca
27  #else
28  #ifdef HAVE_ALLOCA_H
29  #include <alloca.h>
30  #endif
31  #endif
32  #ifdef _WIN32
33  #define alloca _alloca
34  #endif
35 #endif
36 /*@only@*/ char * xstrdup (const char *str);
37 
38 #if HAVE_MCHECK_H && defined(__GNUC__)
39 #define vmefail() (fprintf(stderr, "virtual memory exhausted.\n"), exit(EXIT_FAILURE), NULL)
40 #define xstrdup(_str) (strcpy((malloc(strlen(_str)+1) ? : vmefail()), (_str)))
41 #else
42 #define xstrdup(_str) strdup(_str)
43 #endif /* HAVE_MCHECK_H && defined(__GNUC__) */
#define xstrdup(_str)
Definition: system.h:42
char * alloca()