Skip to content
Snippets Groups Projects
Select Git revision
  • 76a79e300e592d29ca47c2f90d121547c0d45a23
  • master default protected
  • 9.0
  • 8.0
  • nt-tools
  • 7.8
  • 7.6
  • 7.4
  • 7.2
  • 7.0
  • 0.6
  • rosuav/latex-markdown-renderer
  • rxnpatch/rxnpatch
  • marcus/gobject-introspection
  • rxnpatch/8.0
  • rosuav/pre-listening-ports
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • grubba/wip/sakura/8.0
  • v8.0.2020
  • v8.0.2018
  • v8.0.2016
  • v8.0.2014
  • v8.0.2012
  • v8.0.2008
  • v8.0.2006
  • v8.0.2004
  • v8.0.2002
  • v8.0.2000
  • v8.0.1998
  • v8.0.1996
  • v8.0.1994
  • v8.0.1992
  • v8.0.1990
  • v8.0.1988
  • v8.0.1986
  • rxnpatch/clusters/8.0/2025-04-29T124414
  • rxnpatch/2025-04-29T124414
  • v8.0.1984
41 results

cyclic.c

Blame
    • Henrik (Grubba) Grubbström's avatar
      24ddc769
      Added id. · 24ddc769
      Henrik (Grubba) Grubbström authored
      Rev: src/acconfig.h:1.19
      Rev: src/alloca.c:1.2
      Rev: src/array.c:1.31
      Rev: src/array.h:1.12
      Rev: src/backend.h:1.6
      Rev: src/build_modlist_h:1.2
      Rev: src/builtin_functions.h:1.7
      Rev: src/callback.c:1.14
      Rev: src/callback.h:1.7
      Rev: src/compilation.h:1.8
      Rev: src/constants.c:1.13
      Rev: src/constants.h:1.6
      Rev: src/cpp.c:1.21
      Rev: src/cpp.h:1.4
      Rev: src/crypt.c:1.2
      Rev: src/cyclic.c:1.3
      Rev: src/cyclic.h:1.3
      Rev: src/dmalloc.h:1.5
      Rev: src/docode.h:1.5
      Rev: src/dynamic_buffer.c:1.8
      Rev: src/dynamic_buffer.h:1.6
      Rev: src/dynamic_load.c:1.25
      Rev: src/dynamic_load.h:1.3
      Rev: src/efun.h:1.3
      Rev: src/encode.c:1.18
      Rev: src/encode.h:1.2
      Rev: src/error.c:1.14
      Rev: src/error.h:1.14
      Rev: src/fd_control.c:1.17
      Rev: src/fd_control.h:1.3
      Rev: src/fdlib.c:1.16
      Rev: src/fdlib.h:1.13
      Rev: src/fsort.c:1.9
      Rev: src/fsort.h:1.2
      Rev: src/fsort_template.h:1.3
      Rev: src/gc.c:1.30
      Rev: src/gc.h:1.16
      Rev: src/global.h:1.20
      Rev: src/hashtable.c:1.4
      Rev: src/hashtable.h:1.5
      Rev: src/install-sh:1.4
      Rev: src/interpret.h:1.20
      Rev: src/las.h:1.13
      Rev: src/lex.h:1.10
      Rev: src/main.h:1.7
      Rev: src/mapping.h:1.10
      Rev: src/module.c:1.8
      Rev: src/module.h:1.4
      Rev: src/module_support.c:1.9
      Rev: src/module_support.h:1.6
      Rev: src/modules/Gdbm/Makefile.in:1.3
      Rev: src/modules/Gdbm/configure.in:1.2
      Rev: src/modules/Gdbm/testsuite.in:1.4
      Rev: src/modules/Gmp/Makefile.in:1.8
      Rev: src/modules/Gmp/configure.in:1.2
      Rev: src/modules/Gmp/gmp_machine.h.in:1.2
      Rev: src/modules/Gmp/my_gmp.h:1.3
      Rev: src/modules/Gmp/next_prime.c:1.6
      Rev: src/modules/Gmp/prime_table.c:1.3
      Rev: src/modules/Gmp/testsuite.in:1.12
      Rev: src/modules/Gz/Makefile.in:1.3
      Rev: src/modules/Gz/configure.in:1.10
      Rev: src/modules/Gz/testsuite.in:1.4
      Rev: src/modules/Image/Makefile:1.8
      Rev: src/modules/Image/Makefile.in:1.14
      Rev: src/modules/Image/configure.in:1.8
      Rev: src/modules/Image/encodings/Makefile.in:1.14
      Rev: src/modules/Image/encodings/configure.in:1.4
      Rev: src/modules/Image/testsuite.in:1.5
      Rev: src/modules/MIME/Makefile.in:1.2
      Rev: src/modules/MIME/acconfig.h:1.2
      Rev: src/modules/MIME/configure.in:1.3
      Rev: src/modules/MIME/testsuite.in:1.5
      Rev: src/modules/Msql/Makefile.in:1.3
      Rev: src/modules/Msql/test_msqlmod.pike:1.2
      Rev: src/modules/Mysql/dummy.c:1.4
      Rev: src/modules/Pipe/Makefile.in:1.3
      Rev: src/modules/Pipe/configure.in:1.4
      Rev: src/modules/Postgres/extras/test_notify.pike:1.2
      Rev: src/modules/Postgres/extras/test_schema.pike:1.2
      Rev: src/modules/Postgres/pg_types.h:1.3
      Rev: src/modules/Postgres/pgresult.c:1.5
      Rev: src/modules/Postgres/pgresult.h:1.2
      Rev: src/modules/Regexp/Makefile.in:1.5
      Rev: src/modules/Regexp/configure.in:1.5
      Rev: src/modules/Regexp/glue.c:1.10
      Rev: src/modules/Regexp/pike_regexp.c:1.12
      Rev: src/modules/Regexp/pike_regexp.h:1.3
      Rev: src/modules/Regexp/testsuite.in:1.3
      Rev: src/modules/Ssleay/Makefile.in:1.3
      Rev: src/modules/Ssleay/acconfig.h:1.2
      Rev: src/modules/Ssleay/configure.in:1.4
      Rev: src/modules/Yp/Makefile.in:1.3
      Rev: src/modules/Yp/configure.in:1.5
      Rev: src/modules/Yp/yp.c:1.12
      Rev: src/modules/_Crypto/.build_lobotomized_crypto:1.6
      Rev: src/modules/_Crypto/.exportable_files:1.3
      Rev: src/modules/_Crypto/Makefile.in:1.16
      Rev: src/modules/_Crypto/configure.in:1.5
      Rev: src/modules/_Crypto/include/.exportable_files:1.2
      Rev: src/modules/_Crypto/include/RCSID.h:1.6
      Rev: src/modules/_Crypto/include/cast.h:1.2
      Rev: src/modules/_Crypto/include/crypto_types.h:1.5
      Rev: src/modules/_Crypto/include/idea.h:1.4
      Rev: src/modules/_Crypto/include/md5.h:1.2
      Rev: src/modules/_Crypto/include/rc4.h:1.3
      Rev: src/modules/_Crypto/include/sha.h:1.4
      Rev: src/modules/_Crypto/lib/.exportable_files:1.2
      Rev: src/modules/_Crypto/lib/cast.c:1.2
      Rev: src/modules/_Crypto/lib/cast_sboxes.h:1.2
      Rev: src/modules/_Crypto/precompiled_crypto.h:1.17
      Rev: src/modules/_Crypto/sha.c:1.10
      Rev: src/modules/_Image_PNG/Makefile.in:1.2
      Rev: src/modules/_Image_PNG/configure.in:1.2
      Rev: src/modules/_Image_PNG/testsuite.in:1.3
      Rev: src/modules/_Image_XFace/Makefile.in:1.2
      Rev: src/modules/_Image_XFace/configure.in:1.2
      Rev: src/modules/_Image_XFace/testsuite.in:1.2
      Rev: src/modules/configure.in:1.5
      Rev: src/modules/module_configure.in:1.5
      Rev: src/modules/module_makefile:1.3
      Rev: src/multiset.c:1.10
      Rev: src/multiset.h:1.7
      Rev: src/object.h:1.17
      Rev: src/opcodes.c:1.16
      Rev: src/opcodes.h:1.4
      Rev: src/operators.h:1.4
      Rev: src/otable.h:1.2
      Rev: src/peep.c:1.19
      Rev: src/peep.h:1.4
      Rev: src/peep.in:1.12
      Rev: src/pike_macros.h:1.6
      Rev: src/pike_memory.c:1.18
      Rev: src/pike_memory.h:1.4
      Rev: src/pike_types.h:1.11
      Rev: src/port.c:1.15
      Rev: src/port.h:1.18
      Rev: src/program.h:1.35
      Rev: src/run_autoconfig:1.21
      Rev: src/rusage.c:1.10
      Rev: src/rusage.h:1.3
      Rev: src/signal_handler.c:1.41
      Rev: src/signal_handler.h:1.6
      Rev: src/stralloc.c:1.30
      Rev: src/stralloc.h:1.15
      Rev: src/stuff.c:1.6
      Rev: src/stuff.h:1.5
      Rev: src/svalue.c:1.21
      Rev: src/svalue.h:1.14
      Rev: src/threads.h:1.40
      Rev: src/time_stuff.h:1.8
      Rev: src/ualarm.c:1.2
      Rev: src/version.c:1.34
      Rev: src/version.h:1.3
      24ddc769
      History
      Added id.
      Henrik (Grubba) Grubbström authored
      Rev: src/acconfig.h:1.19
      Rev: src/alloca.c:1.2
      Rev: src/array.c:1.31
      Rev: src/array.h:1.12
      Rev: src/backend.h:1.6
      Rev: src/build_modlist_h:1.2
      Rev: src/builtin_functions.h:1.7
      Rev: src/callback.c:1.14
      Rev: src/callback.h:1.7
      Rev: src/compilation.h:1.8
      Rev: src/constants.c:1.13
      Rev: src/constants.h:1.6
      Rev: src/cpp.c:1.21
      Rev: src/cpp.h:1.4
      Rev: src/crypt.c:1.2
      Rev: src/cyclic.c:1.3
      Rev: src/cyclic.h:1.3
      Rev: src/dmalloc.h:1.5
      Rev: src/docode.h:1.5
      Rev: src/dynamic_buffer.c:1.8
      Rev: src/dynamic_buffer.h:1.6
      Rev: src/dynamic_load.c:1.25
      Rev: src/dynamic_load.h:1.3
      Rev: src/efun.h:1.3
      Rev: src/encode.c:1.18
      Rev: src/encode.h:1.2
      Rev: src/error.c:1.14
      Rev: src/error.h:1.14
      Rev: src/fd_control.c:1.17
      Rev: src/fd_control.h:1.3
      Rev: src/fdlib.c:1.16
      Rev: src/fdlib.h:1.13
      Rev: src/fsort.c:1.9
      Rev: src/fsort.h:1.2
      Rev: src/fsort_template.h:1.3
      Rev: src/gc.c:1.30
      Rev: src/gc.h:1.16
      Rev: src/global.h:1.20
      Rev: src/hashtable.c:1.4
      Rev: src/hashtable.h:1.5
      Rev: src/install-sh:1.4
      Rev: src/interpret.h:1.20
      Rev: src/las.h:1.13
      Rev: src/lex.h:1.10
      Rev: src/main.h:1.7
      Rev: src/mapping.h:1.10
      Rev: src/module.c:1.8
      Rev: src/module.h:1.4
      Rev: src/module_support.c:1.9
      Rev: src/module_support.h:1.6
      Rev: src/modules/Gdbm/Makefile.in:1.3
      Rev: src/modules/Gdbm/configure.in:1.2
      Rev: src/modules/Gdbm/testsuite.in:1.4
      Rev: src/modules/Gmp/Makefile.in:1.8
      Rev: src/modules/Gmp/configure.in:1.2
      Rev: src/modules/Gmp/gmp_machine.h.in:1.2
      Rev: src/modules/Gmp/my_gmp.h:1.3
      Rev: src/modules/Gmp/next_prime.c:1.6
      Rev: src/modules/Gmp/prime_table.c:1.3
      Rev: src/modules/Gmp/testsuite.in:1.12
      Rev: src/modules/Gz/Makefile.in:1.3
      Rev: src/modules/Gz/configure.in:1.10
      Rev: src/modules/Gz/testsuite.in:1.4
      Rev: src/modules/Image/Makefile:1.8
      Rev: src/modules/Image/Makefile.in:1.14
      Rev: src/modules/Image/configure.in:1.8
      Rev: src/modules/Image/encodings/Makefile.in:1.14
      Rev: src/modules/Image/encodings/configure.in:1.4
      Rev: src/modules/Image/testsuite.in:1.5
      Rev: src/modules/MIME/Makefile.in:1.2
      Rev: src/modules/MIME/acconfig.h:1.2
      Rev: src/modules/MIME/configure.in:1.3
      Rev: src/modules/MIME/testsuite.in:1.5
      Rev: src/modules/Msql/Makefile.in:1.3
      Rev: src/modules/Msql/test_msqlmod.pike:1.2
      Rev: src/modules/Mysql/dummy.c:1.4
      Rev: src/modules/Pipe/Makefile.in:1.3
      Rev: src/modules/Pipe/configure.in:1.4
      Rev: src/modules/Postgres/extras/test_notify.pike:1.2
      Rev: src/modules/Postgres/extras/test_schema.pike:1.2
      Rev: src/modules/Postgres/pg_types.h:1.3
      Rev: src/modules/Postgres/pgresult.c:1.5
      Rev: src/modules/Postgres/pgresult.h:1.2
      Rev: src/modules/Regexp/Makefile.in:1.5
      Rev: src/modules/Regexp/configure.in:1.5
      Rev: src/modules/Regexp/glue.c:1.10
      Rev: src/modules/Regexp/pike_regexp.c:1.12
      Rev: src/modules/Regexp/pike_regexp.h:1.3
      Rev: src/modules/Regexp/testsuite.in:1.3
      Rev: src/modules/Ssleay/Makefile.in:1.3
      Rev: src/modules/Ssleay/acconfig.h:1.2
      Rev: src/modules/Ssleay/configure.in:1.4
      Rev: src/modules/Yp/Makefile.in:1.3
      Rev: src/modules/Yp/configure.in:1.5
      Rev: src/modules/Yp/yp.c:1.12
      Rev: src/modules/_Crypto/.build_lobotomized_crypto:1.6
      Rev: src/modules/_Crypto/.exportable_files:1.3
      Rev: src/modules/_Crypto/Makefile.in:1.16
      Rev: src/modules/_Crypto/configure.in:1.5
      Rev: src/modules/_Crypto/include/.exportable_files:1.2
      Rev: src/modules/_Crypto/include/RCSID.h:1.6
      Rev: src/modules/_Crypto/include/cast.h:1.2
      Rev: src/modules/_Crypto/include/crypto_types.h:1.5
      Rev: src/modules/_Crypto/include/idea.h:1.4
      Rev: src/modules/_Crypto/include/md5.h:1.2
      Rev: src/modules/_Crypto/include/rc4.h:1.3
      Rev: src/modules/_Crypto/include/sha.h:1.4
      Rev: src/modules/_Crypto/lib/.exportable_files:1.2
      Rev: src/modules/_Crypto/lib/cast.c:1.2
      Rev: src/modules/_Crypto/lib/cast_sboxes.h:1.2
      Rev: src/modules/_Crypto/precompiled_crypto.h:1.17
      Rev: src/modules/_Crypto/sha.c:1.10
      Rev: src/modules/_Image_PNG/Makefile.in:1.2
      Rev: src/modules/_Image_PNG/configure.in:1.2
      Rev: src/modules/_Image_PNG/testsuite.in:1.3
      Rev: src/modules/_Image_XFace/Makefile.in:1.2
      Rev: src/modules/_Image_XFace/configure.in:1.2
      Rev: src/modules/_Image_XFace/testsuite.in:1.2
      Rev: src/modules/configure.in:1.5
      Rev: src/modules/module_configure.in:1.5
      Rev: src/modules/module_makefile:1.3
      Rev: src/multiset.c:1.10
      Rev: src/multiset.h:1.7
      Rev: src/object.h:1.17
      Rev: src/opcodes.c:1.16
      Rev: src/opcodes.h:1.4
      Rev: src/operators.h:1.4
      Rev: src/otable.h:1.2
      Rev: src/peep.c:1.19
      Rev: src/peep.h:1.4
      Rev: src/peep.in:1.12
      Rev: src/pike_macros.h:1.6
      Rev: src/pike_memory.c:1.18
      Rev: src/pike_memory.h:1.4
      Rev: src/pike_types.h:1.11
      Rev: src/port.c:1.15
      Rev: src/port.h:1.18
      Rev: src/program.h:1.35
      Rev: src/run_autoconfig:1.21
      Rev: src/rusage.c:1.10
      Rev: src/rusage.h:1.3
      Rev: src/signal_handler.c:1.41
      Rev: src/signal_handler.h:1.6
      Rev: src/stralloc.c:1.30
      Rev: src/stralloc.h:1.15
      Rev: src/stuff.c:1.6
      Rev: src/stuff.h:1.5
      Rev: src/svalue.c:1.21
      Rev: src/svalue.h:1.14
      Rev: src/threads.h:1.40
      Rev: src/time_stuff.h:1.8
      Rev: src/ualarm.c:1.2
      Rev: src/version.c:1.34
      Rev: src/version.h:1.3
    global.h 5.15 KiB
    /*\
    ||| This file a part of Pike, and is copyright by Fredrik Hubinette
    ||| Pike is distributed as GPL (General Public License)
    ||| See the files COPYING and DISCLAIMER for more information.
    \*/
    
    /*
     * $Id: global.h,v 1.38 1999/08/06 23:04:05 hubbe Exp $
     */
    #ifndef GLOBAL_H
    #define GLOBAL_H
    
    #if defined(__WINNT__) && !defined(__NT__)
    #define __NT__
    #endif
    
    /* The worlds most stringent C compiler? */
    #ifdef __TenDRA__
    /* We want to be able to use 64bit arithmetic */
    #pragma TenDRA longlong type allow
    #pragma TenDRA set longlong type : long long
    
    #ifdef _NO_LONGLONG
    #undef _NO_LONGLONG
    #endif /* _NO_LONGLONG */
    #endif /* __TenDRA__ */
    
    #ifndef _LARGEFILE_SOURCE
    #  define _FILE_OFFSET_BITS 64
    #  define _LARGEFILE_SOURCE
    #  define _LARGEFILE64_SOURCE 1
    #endif
    
    /* HPUX needs these too... */
    #ifndef __STDC_EXT__
    #  define __STDC_EXT__
    #endif /* !__STDC_EXT__ */
    #ifndef _PROTOTYPES
    #  define _PROTOTYPES
    #endif /* !_PROTOTYPES */
    
    /*
     * Some structure forward declarations are needed.
     */
    
    /* This is needed for linux */
    #ifdef MALLOC_REPLACED
    #define NO_FIX_MALLOC
    #endif
    
    #ifndef STRUCT_PROGRAM_DECLARED
    #define STRUCT_PROGRAM_DECLARED
    struct program;
    #endif
    
    struct function;
    #ifndef STRUCT_SVALUE_DECLARED
    #define STRUCT_SVALUE_DECLARED
    struct svalue;
    #endif
    struct sockaddr;
    struct object;
    struct array;
    struct svalue;
    
    #ifndef STRUCT_TIMEVAL_DECLARED
    #define STRUCT_TIMEVAL_DECLARED
    struct timeval;
    #endif
    
    #include "machine.h"
    
    /*
     * Max number of local variables in a function.
     * Currently there is no support for more than 256
     */
    #define MAX_LOCAL	256
    
    /*
     * define NO_GC to get rid of garbage collection
     */
    #ifndef NO_GC
    #define GC2
    #endif
    
    #if defined(i386)
    #ifndef HANDLES_UNALIGNED_MEMORY_ACCESS
    #define HANDLES_UNALIGNED_MEMORY_ACCESS
    #endif
    #endif
    
    /* AIX requires this to be the first thing in the file.  */
    #ifdef __GNUC__
    # ifdef alloca
    #  undef alloca
    # endif
    # define alloca __builtin_alloca
    #else
    # if HAVE_ALLOCA_H
    #  include <alloca.h>
    # else
    #  ifdef _AIX
     #pragma alloca
    #  else
    #   ifndef alloca /* predefined by HP cc +Olibcalls */
    char *alloca ();
    #   endif
    #  endif
    # endif
    #endif
    
    #ifdef __NT__
    /* We are running NT */
    #define FD_SETSIZE MAX_OPEN_FILEDESCRIPTORS
    #endif
    
    #include <stdio.h>
    
    #ifdef HAVE_STDLIB_H
    #include <stdlib.h>
    #undef HAVE_STDLIB_H
    #endif
    
    #ifdef HAVE_STDDEF_H
    #include <stddef.h>
    #undef HAVE_STDDEF_H
    #endif
    
    #ifdef HAVE_MALLOC_H
    #include <malloc.h>
    #undef HAVE_MALLOC_H
    #endif
    
    #ifdef HAVE_UNISTD_H
    #include <unistd.h>
    #undef HAVE_UNISTD_H
    #endif
    
    #ifdef HAVE_STRING_H
    #include <string.h>
    #undef HAVE_STRING_H
    #endif
    
    #ifdef HAVE_LIMITS_H
    #include <limits.h>
    #undef HAVE_LIMITS_H
    #endif
    
    #ifdef HAVE_SYS_TYPES_H
    #include <sys/types.h>
    #undef HAVE_SYS_TYPES_H
    #endif
    
    #ifdef HAVE_MEMORY_H
    #include <memory.h>
    #undef HAVE_MEMORY_H
    #endif
    
    #ifdef HAVE_WINDOWS_H
    #include <windows.h>
    #undef HAVE_WINDOWS_H
    #endif
    
    
    /* we here define a few types with more defined values */
    
    #define INT64 long long
    
    #if SIZEOF_SHORT >= 4
    #define INT32 short
    #else
    #if SIZEOF_INT >= 4
    #define INT32 int
    #else
    #define INT32 long
    #endif
    #endif
    
    #define MAX_INT32 2147483647
    #define MIN_INT32 -2147483648
    
    #define INT16 short
    #define INT8 char
    
    #define SIZE_T unsigned INT32
    
    #define TYPE_T unsigned INT8
    #define TYPE_FIELD unsigned INT16
    
    #define FLOAT_TYPE float
    #define INT_TYPE INT32
    
    #define B1_T char
    
    #if SIZEOF_SHORT == 2
    #define B2_T short
    #elif SIZEOF_INT == 2
    #define B2_T int
    #endif
    
    #if SIZEOF_SHORT == 4
    #define B4_T short
    #elif SIZEOF_INT == 4
    #define B4_T int
    #elif SIZEOF_LONG == 4
    #define B4_T long
    #endif
    
    #if SIZEOF_INT == 8
    #define B8_T int
    #elif SIZEOF_LONG == 8
    #define B8_T long
    #elif SIZEOF_CHAR_P == 8
    #define B8_T char *
    #elif defined(B4_T)
    struct b8_t_s { B4_T x,y; };
    #define B8_T struct b8_t_s
    #endif
    
    #if defined(B8_T)
    struct b16_t_s { B8_T x,y; };
    #define B16_T struct b16_t_s
    #endif
    
    typedef unsigned char p_wchar0;
    typedef unsigned INT16 p_wchar1;
    typedef unsigned INT32 p_wchar2;
    
    typedef struct p_wchar_p
    {
      p_wchar0 *ptr;
      int shift;
    } PCHARP;
    
    #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
    #define RCSID(X) \
     static char *rcsid __attribute__ ((unused)) =X
    #elif __GNUC__ == 2
    #define RCSID(X) \
     static char *rcsid = X; \
     static void *use_rcsid=(&use_rcsid, (void *)&rcsid)
    #else
    #define RCSID(X) \
     static char *rcsid = X
    #endif
    
    #ifdef PIKE_DEBUG
    #define DO_IF_DEBUG(X) X
    #else
    #define DO_IF_DEBUG(X)
    #endif
    
    #if defined(__GNUC__) && !defined(PIKE_DEBUG) && !defined(lint)
    #define INLINE inline
    #else
    #define INLINE
    #endif
    
    #if defined(PURIFY) || defined(__CHECKER__) || defined(DEBUG_MALLOC)
    #define DO_PIKE_CLEANUP
    #endif
    
    #include "port.h"
    #include "dmalloc.h"
    
    
    #ifdef BUFSIZ
    #define PROT_STDIO(x) PROT(x)
    #else
    #define PROT_STDIO(x) ()
    #endif
    
    #ifdef __STDC__
    #define PROT(x) x
    #else
    #define PROT(x) ()
    #endif
    
    #ifdef MALLOC_DECL_MISSING
    char *malloc PROT((int));
    char *realloc PROT((char *,int));
    void free PROT((char *));
    char *calloc PROT((int,int));
    #endif
    
    #ifdef GETPEERNAME_DECL_MISSING
    int getpeername PROT((int, struct sockaddr *, int *));
    #endif
    
    #ifdef GETHOSTNAME_DECL_MISSING
    void gethostname PROT((char *,int));
    #endif
    
    #ifdef POPEN_DECL_MISSING
    FILE *popen PROT((char *,char *));
    #endif
    
    #ifdef GETENV_DECL_MISSING
    char *getenv PROT((char *));
    #endif
    
    #endif