diff options
Diffstat (limited to 'awk.h')
-rw-r--r-- | awk.h | 36 |
1 files changed, 14 insertions, 22 deletions
@@ -3,7 +3,7 @@ */ /* - * Copyright (C) 1986, 1988, 1989, 1991-2013 the Free Software Foundation, Inc. + * Copyright (C) 1986, 1988, 1989, 1991-2014 the Free Software Foundation, Inc. * * This file is part of GAWK, the GNU implementation of the * AWK Programming Language. @@ -180,10 +180,6 @@ typedef int off_t; #define O_BINARY 0 #endif -#ifndef HAVE_VPRINTF -#error "you lose: you need a system with vfprintf" -#endif /* HAVE_VPRINTF */ - #ifndef HAVE_SETLOCALE #define setlocale(locale, val) /* nothing */ #endif /* HAVE_SETLOCALE */ @@ -206,15 +202,15 @@ typedef void *stackoverflow_context_t; #define stackoverflow_install_handler(catchstackoverflow, extra_stack, STACK_SIZE) 0 #endif -/* - * This is for fake directory file descriptors on systems that don't - * allow to open() a directory. - */ -#define FAKE_FD_VALUE 42 +#if defined(__EMX__) || defined(__MINGW32__) +#include "nonposix.h" +#endif /* defined(__EMX__) || defined(__MINGW32__) */ /* use this as lintwarn("...") this is a hack but it gives us the right semantics */ #define lintwarn (*(set_loc(__FILE__, __LINE__),lintfunc)) +/* same thing for warning */ +#define warning (*(set_loc(__FILE__, __LINE__),r_warning)) #ifdef HAVE_MPFR #include <gmp.h> @@ -436,12 +432,13 @@ typedef struct exp_node { # define MPFN 0x0800 /* arbitrary-precision floating-point number */ # define MPZN 0x1000 /* arbitrary-precision integer */ # define NO_EXT_SET 0x2000 /* extension cannot set a value for this variable */ +# define NULL_FIELD 0x4000 /* this is the null field */ /* type = Node_var_array */ -# define ARRAYMAXED 0x4000 /* array is at max size */ -# define HALFHAT 0x8000 /* half-capacity Hashed Array Tree; +# define ARRAYMAXED 0x8000 /* array is at max size */ +# define HALFHAT 0x10000 /* half-capacity Hashed Array Tree; * See cint_array.c */ -# define XARRAY 0x10000 +# define XARRAY 0x20000 } NODE; #define vname sub.nodep.name @@ -1330,6 +1327,7 @@ if (--val) \ /* array.c */ typedef enum { SORTED_IN = 1, ASORT, ASORTI } sort_context_t; typedef enum { + ANONE = 0x00, /* "unused" value */ AINDEX = 0x001, /* list of indices */ AVALUE = 0x002, /* list of values */ AINUM = 0x004, /* numeric index */ @@ -1363,6 +1361,7 @@ extern NODE *do_aoption(int nargs); extern NODE *do_asort(int nargs); extern NODE *do_asorti(int nargs); extern unsigned long (*hash)(const char *s, size_t len, unsigned long hsize, size_t *code); +extern void init_env_array(NODE *env_node); /* awkgram.c */ extern NODE *variable(int location, char *name, NODETYPE type); extern int parse_program(INSTRUCTION **pcode); @@ -1373,7 +1372,7 @@ extern const char *getfname(NODE *(*)(int)); extern NODE *stopme(int nargs); extern void shadow_funcs(void); extern int check_special(const char *name); -extern SRCFILE *add_srcfile(int stype, char *src, SRCFILE *curr, bool *already_included, int *errcode); +extern SRCFILE *add_srcfile(enum srctype stype, char *src, SRCFILE *curr, bool *already_included, int *errcode); extern void register_deferred_variable(const char *name, NODE *(*load_func)(void)); extern int files_are_same(char *path, SRCFILE *src); extern void valinfo(NODE *n, Func_print print_func, FILE *fp); @@ -1579,7 +1578,7 @@ extern void final_exit(int status) ATTRIBUTE_NORETURN; extern void err(bool isfatal, const char *s, const char *emsg, va_list argp) ATTRIBUTE_PRINTF(3, 0); extern void msg (const char *mesg, ...) ATTRIBUTE_PRINTF_1; extern void error (const char *mesg, ...) ATTRIBUTE_PRINTF_1; -extern void warning (const char *mesg, ...) ATTRIBUTE_PRINTF_1; +extern void r_warning (const char *mesg, ...) ATTRIBUTE_PRINTF_1; extern void set_loc (const char *file, int line); extern void r_fatal (const char *mesg, ...) ATTRIBUTE_PRINTF_1; #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2) @@ -1661,13 +1660,6 @@ extern NODE **function_list(bool sort); extern void print_vars(NODE **table, Func_print print_func, FILE *fp); /* floatcomp.c */ -#ifdef VMS /* VMS linker weirdness? */ -#define Ceil gawk_ceil -#define Floor gawk_floor -#endif - -extern AWKNUM Floor(AWKNUM n); -extern AWKNUM Ceil(AWKNUM n); #ifdef HAVE_UINTMAX_T extern uintmax_t adjust_uint(uintmax_t n); #else |