[postgis-tickets] [SCM] PostGIS branch master updated. 3.1.0rc1-114-g2a73173
git at osgeo.org
git at osgeo.org
Tue Mar 9 18:58:30 PST 2021
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".
The branch, master has been updated
via 2a73173e3b32400521bd3e8a7e09c9d6ca531838 (commit)
from d758f50258f36905e9fbfcdece276060ec8b3762 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2a73173e3b32400521bd3e8a7e09c9d6ca531838
Author: Regina Obe <lr at pcorp.us>
Date: Tue Mar 9 21:58:22 2021 -0500
fix from pramsey for NaN on mingw64. Closes #4872
diff --git a/liblwgeom/lwin_wkt_lex.c b/liblwgeom/lwin_wkt_lex.c
index 6cd2fe2..f194112 100644
--- a/liblwgeom/lwin_wkt_lex.c
+++ b/liblwgeom/lwin_wkt_lex.c
@@ -1,6 +1,6 @@
-#line 2 "lwin_wkt_lex.c"
+#line 1 "lwin_wkt_lex.c"
-#line 4 "lwin_wkt_lex.c"
+#line 3 "lwin_wkt_lex.c"
#define YY_INT_ALIGNED short int
@@ -8,11 +8,17 @@
#define yy_create_buffer wkt_yy_create_buffer
#define yy_delete_buffer wkt_yy_delete_buffer
-#define yy_flex_debug wkt_yy_flex_debug
+#define yy_scan_buffer wkt_yy_scan_buffer
+#define yy_scan_string wkt_yy_scan_string
+#define yy_scan_bytes wkt_yy_scan_bytes
#define yy_init_buffer wkt_yy_init_buffer
#define yy_flush_buffer wkt_yy_flush_buffer
#define yy_load_buffer_state wkt_yy_load_buffer_state
#define yy_switch_to_buffer wkt_yy_switch_to_buffer
+#define yypush_buffer_state wkt_yypush_buffer_state
+#define yypop_buffer_state wkt_yypop_buffer_state
+#define yyensure_buffer_stack wkt_yyensure_buffer_stack
+#define yy_flex_debug wkt_yy_flex_debug
#define yyin wkt_yyin
#define yyleng wkt_yyleng
#define yylex wkt_yylex
@@ -27,12 +33,246 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 35
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 4
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
+#ifdef yy_create_buffer
+#define wkt_yy_create_buffer_ALREADY_DEFINED
+#else
+#define yy_create_buffer wkt_yy_create_buffer
+#endif
+
+#ifdef yy_delete_buffer
+#define wkt_yy_delete_buffer_ALREADY_DEFINED
+#else
+#define yy_delete_buffer wkt_yy_delete_buffer
+#endif
+
+#ifdef yy_scan_buffer
+#define wkt_yy_scan_buffer_ALREADY_DEFINED
+#else
+#define yy_scan_buffer wkt_yy_scan_buffer
+#endif
+
+#ifdef yy_scan_string
+#define wkt_yy_scan_string_ALREADY_DEFINED
+#else
+#define yy_scan_string wkt_yy_scan_string
+#endif
+
+#ifdef yy_scan_bytes
+#define wkt_yy_scan_bytes_ALREADY_DEFINED
+#else
+#define yy_scan_bytes wkt_yy_scan_bytes
+#endif
+
+#ifdef yy_init_buffer
+#define wkt_yy_init_buffer_ALREADY_DEFINED
+#else
+#define yy_init_buffer wkt_yy_init_buffer
+#endif
+
+#ifdef yy_flush_buffer
+#define wkt_yy_flush_buffer_ALREADY_DEFINED
+#else
+#define yy_flush_buffer wkt_yy_flush_buffer
+#endif
+
+#ifdef yy_load_buffer_state
+#define wkt_yy_load_buffer_state_ALREADY_DEFINED
+#else
+#define yy_load_buffer_state wkt_yy_load_buffer_state
+#endif
+
+#ifdef yy_switch_to_buffer
+#define wkt_yy_switch_to_buffer_ALREADY_DEFINED
+#else
+#define yy_switch_to_buffer wkt_yy_switch_to_buffer
+#endif
+
+#ifdef yypush_buffer_state
+#define wkt_yypush_buffer_state_ALREADY_DEFINED
+#else
+#define yypush_buffer_state wkt_yypush_buffer_state
+#endif
+
+#ifdef yypop_buffer_state
+#define wkt_yypop_buffer_state_ALREADY_DEFINED
+#else
+#define yypop_buffer_state wkt_yypop_buffer_state
+#endif
+
+#ifdef yyensure_buffer_stack
+#define wkt_yyensure_buffer_stack_ALREADY_DEFINED
+#else
+#define yyensure_buffer_stack wkt_yyensure_buffer_stack
+#endif
+
+#ifdef yylex
+#define wkt_yylex_ALREADY_DEFINED
+#else
+#define yylex wkt_yylex
+#endif
+
+#ifdef yyrestart
+#define wkt_yyrestart_ALREADY_DEFINED
+#else
+#define yyrestart wkt_yyrestart
+#endif
+
+#ifdef yylex_init
+#define wkt_yylex_init_ALREADY_DEFINED
+#else
+#define yylex_init wkt_yylex_init
+#endif
+
+#ifdef yylex_init_extra
+#define wkt_yylex_init_extra_ALREADY_DEFINED
+#else
+#define yylex_init_extra wkt_yylex_init_extra
+#endif
+
+#ifdef yylex_destroy
+#define wkt_yylex_destroy_ALREADY_DEFINED
+#else
+#define yylex_destroy wkt_yylex_destroy
+#endif
+
+#ifdef yyget_debug
+#define wkt_yyget_debug_ALREADY_DEFINED
+#else
+#define yyget_debug wkt_yyget_debug
+#endif
+
+#ifdef yyset_debug
+#define wkt_yyset_debug_ALREADY_DEFINED
+#else
+#define yyset_debug wkt_yyset_debug
+#endif
+
+#ifdef yyget_extra
+#define wkt_yyget_extra_ALREADY_DEFINED
+#else
+#define yyget_extra wkt_yyget_extra
+#endif
+
+#ifdef yyset_extra
+#define wkt_yyset_extra_ALREADY_DEFINED
+#else
+#define yyset_extra wkt_yyset_extra
+#endif
+
+#ifdef yyget_in
+#define wkt_yyget_in_ALREADY_DEFINED
+#else
+#define yyget_in wkt_yyget_in
+#endif
+
+#ifdef yyset_in
+#define wkt_yyset_in_ALREADY_DEFINED
+#else
+#define yyset_in wkt_yyset_in
+#endif
+
+#ifdef yyget_out
+#define wkt_yyget_out_ALREADY_DEFINED
+#else
+#define yyget_out wkt_yyget_out
+#endif
+
+#ifdef yyset_out
+#define wkt_yyset_out_ALREADY_DEFINED
+#else
+#define yyset_out wkt_yyset_out
+#endif
+
+#ifdef yyget_leng
+#define wkt_yyget_leng_ALREADY_DEFINED
+#else
+#define yyget_leng wkt_yyget_leng
+#endif
+
+#ifdef yyget_text
+#define wkt_yyget_text_ALREADY_DEFINED
+#else
+#define yyget_text wkt_yyget_text
+#endif
+
+#ifdef yyget_lineno
+#define wkt_yyget_lineno_ALREADY_DEFINED
+#else
+#define yyget_lineno wkt_yyget_lineno
+#endif
+
+#ifdef yyset_lineno
+#define wkt_yyset_lineno_ALREADY_DEFINED
+#else
+#define yyset_lineno wkt_yyset_lineno
+#endif
+
+#ifdef yywrap
+#define wkt_yywrap_ALREADY_DEFINED
+#else
+#define yywrap wkt_yywrap
+#endif
+
+#ifdef yyalloc
+#define wkt_yyalloc_ALREADY_DEFINED
+#else
+#define yyalloc wkt_yyalloc
+#endif
+
+#ifdef yyrealloc
+#define wkt_yyrealloc_ALREADY_DEFINED
+#else
+#define yyrealloc wkt_yyrealloc
+#endif
+
+#ifdef yyfree
+#define wkt_yyfree_ALREADY_DEFINED
+#else
+#define yyfree wkt_yyfree
+#endif
+
+#ifdef yytext
+#define wkt_yytext_ALREADY_DEFINED
+#else
+#define yytext wkt_yytext
+#endif
+
+#ifdef yyleng
+#define wkt_yyleng_ALREADY_DEFINED
+#else
+#define yyleng wkt_yyleng
+#endif
+
+#ifdef yyin
+#define wkt_yyin_ALREADY_DEFINED
+#else
+#define yyin wkt_yyin
+#endif
+
+#ifdef yyout
+#define wkt_yyout_ALREADY_DEFINED
+#else
+#define yyout wkt_yyout
+#endif
+
+#ifdef yy_flex_debug
+#define wkt_yy_flex_debug_ALREADY_DEFINED
+#else
+#define yy_flex_debug wkt_yy_flex_debug
+#endif
+
+#ifdef yylineno
+#define wkt_yylineno_ALREADY_DEFINED
+#else
+#define yylineno wkt_yylineno
+#endif
+
/* First, we deal with platform-specific or compiler-specific issues. */
/* begin standard C headers. */
@@ -66,7 +306,6 @@ typedef int16_t flex_int16_t;
typedef uint16_t flex_uint16_t;
typedef int32_t flex_int32_t;
typedef uint32_t flex_uint32_t;
-typedef uint64_t flex_uint64_t;
#else
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
@@ -74,7 +313,6 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
-#endif /* ! C99 */
/* Limits of integral types. */
#ifndef INT8_MIN
@@ -105,63 +343,61 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else /* ! __cplusplus */
+#ifndef SIZE_MAX
+#define SIZE_MAX (~(size_t)0)
+#endif
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
+#endif /* ! C99 */
-#define YY_USE_CONST
+#endif /* ! FLEXINT_H */
-#endif /* defined (__STDC__) */
-#endif /* ! __cplusplus */
+/* begin standard C++ headers. */
-#ifdef YY_USE_CONST
+/* TODO: this is always defined, so inline it */
#define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
#else
-#define yyconst
+#define yynoreturn
#endif
/* Returned upon end-of-file. */
#define YY_NULL 0
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index. If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
+/* Promotes a possibly negative, possibly signed char to an
+ * integer in range [0..255] for use as an array index.
*/
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
/* Enter a start condition. This macro really ought to take a parameter,
* but we do it the disgusting crufty way forced on us by the ()-less
* definition of BEGIN.
*/
#define BEGIN (yy_start) = 1 + 2 *
-
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START (((yy_start) - 1) / 2)
#define YYSTATE YY_START
-
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE wkt_yyrestart(wkt_yyin )
-
+#define YY_NEW_FILE yyrestart( yyin )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
#define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
#endif
/* The state buf must be large enough to hold one state per character in the main buffer.
@@ -178,30 +414,30 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
typedef size_t yy_size_t;
#endif
-extern yy_size_t wkt_yyleng;
+extern int yyleng;
-extern FILE *wkt_yyin, *wkt_yyout;
+extern FILE *yyin, *yyout;
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
-
+
#define YY_LESS_LINENO(n)
+ #define YY_LINENO_REWIND_TO(ptr)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
do \
{ \
- /* Undo effects of setting up wkt_yytext. */ \
+ /* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
*yy_cp = (yy_hold_char); \
YY_RESTORE_YY_MORE_OFFSET \
(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
- YY_DO_BEFORE_ACTION; /* set up wkt_yytext again */ \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
-
#define unput(c) yyunput( c, (yytext_ptr) )
#ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -216,12 +452,12 @@ struct yy_buffer_state
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
- yy_size_t yy_buf_size;
+ int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
- yy_size_t yy_n_chars;
+ int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
@@ -244,7 +480,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
@@ -261,8 +497,8 @@ struct yy_buffer_state
* possible backing-up.
*
* When we actually see the EOF, we change the status to "new"
- * (via wkt_yyrestart()), so that the user can continue scanning by
- * just pointing wkt_yyin at a new input file.
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
*/
#define YY_BUFFER_EOF_PENDING 2
@@ -272,7 +508,7 @@ struct yy_buffer_state
/* Stack of input buffers. */
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
/* We provide macros for accessing buffer states in case in the
* future we want to put the buffer states in a more general
@@ -283,106 +519,101 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
: NULL)
-
/* Same as previous macro, but useful when we know that the buffer stack is not
* NULL or when we need an lvalue. For internal use only.
*/
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-/* yy_hold_char holds the character lost when wkt_yytext is formed. */
+/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
-static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
-yy_size_t wkt_yyleng;
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+int yyleng;
/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
+static char *yy_c_buf_p = NULL;
static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
-/* Flag which is used to allow wkt_yywrap()'s to do buffer switches
- * instead of setting up a fresh wkt_yyin. A bit of a hack ...
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
*/
static int yy_did_buffer_switch_on_eof;
-void wkt_yyrestart (FILE *input_file );
-void wkt_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
-YY_BUFFER_STATE wkt_yy_create_buffer (FILE *file,int size );
-void wkt_yy_delete_buffer (YY_BUFFER_STATE b );
-void wkt_yy_flush_buffer (YY_BUFFER_STATE b );
-void wkt_yypush_buffer_state (YY_BUFFER_STATE new_buffer );
-void wkt_yypop_buffer_state (void );
+void yyrestart ( FILE *input_file );
+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
+void yy_delete_buffer ( YY_BUFFER_STATE b );
+void yy_flush_buffer ( YY_BUFFER_STATE b );
+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
+void yypop_buffer_state ( void );
-static void wkt_yyensure_buffer_stack (void );
-static void wkt_yy_load_buffer_state (void );
-static void wkt_yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
+static void yyensure_buffer_stack ( void );
+static void yy_load_buffer_state ( void );
+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
-#define YY_FLUSH_BUFFER wkt_yy_flush_buffer(YY_CURRENT_BUFFER )
+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
+YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
-YY_BUFFER_STATE wkt_yy_scan_buffer (char *base,yy_size_t size );
-YY_BUFFER_STATE wkt_yy_scan_string (yyconst char *yy_str );
-YY_BUFFER_STATE wkt_yy_scan_bytes (yyconst char *bytes,yy_size_t len );
-
-void *wkt_yyalloc (yy_size_t );
-void *wkt_yyrealloc (void *,yy_size_t );
-void wkt_yyfree (void * );
-
-#define yy_new_buffer wkt_yy_create_buffer
+void *yyalloc ( yy_size_t );
+void *yyrealloc ( void *, yy_size_t );
+void yyfree ( void * );
+#define yy_new_buffer yy_create_buffer
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
- wkt_yyensure_buffer_stack (); \
+ yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- wkt_yy_create_buffer(wkt_yyin,YY_BUF_SIZE ); \
+ yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
-
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
- wkt_yyensure_buffer_stack (); \
+ yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- wkt_yy_create_buffer(wkt_yyin,YY_BUF_SIZE ); \
+ yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
-
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
/* Begin user sect3 */
-#define wkt_yywrap(n) 1
+#define wkt_yywrap() (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP
+typedef flex_uint8_t YY_CHAR;
-typedef unsigned char YY_CHAR;
-
-FILE *wkt_yyin = (FILE *) 0, *wkt_yyout = (FILE *) 0;
+FILE *yyin = NULL, *yyout = NULL;
typedef int yy_state_type;
-extern int wkt_yylineno;
-
-int wkt_yylineno = 1;
+extern int yylineno;
+int yylineno = 1;
-extern char *wkt_yytext;
-#define yytext_ptr wkt_yytext
+extern char *yytext;
+#ifdef yytext_ptr
+#undef yytext_ptr
+#endif
+#define yytext_ptr yytext
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[] );
+static yy_state_type yy_get_previous_state ( void );
+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
+static int yy_get_next_buffer ( void );
+static void yynoreturn yy_fatal_error ( const char* msg );
/* Done after the current pattern has been matched and before the
- * corresponding action - sets up wkt_yytext.
+ * corresponding action - sets up yytext.
*/
#define YY_DO_BEFORE_ACTION \
(yytext_ptr) = yy_bp; \
- wkt_yyleng = (yy_size_t) (yy_cp - yy_bp); \
+ yyleng = (int) (yy_cp - yy_bp); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-
#define YY_NUM_RULES 27
#define YY_END_OF_BUFFER 28
/* This struct is not used in this scanner,
@@ -392,7 +623,7 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[177] =
+static const flex_int16_t yy_accept[177] =
{ 0,
0, 0, 28, 26, 25, 25, 21, 22, 23, 26,
26, 26, 24, 26, 26, 26, 26, 20, 26, 26,
@@ -415,7 +646,7 @@ static yyconst flex_int16_t yy_accept[177] =
0, 0, 0, 15, 4, 0
} ;
-static yyconst flex_int32_t yy_ec[256] =
+static const YY_CHAR yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
@@ -447,7 +678,7 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static yyconst flex_int32_t yy_meta[53] =
+static const YY_CHAR yy_meta[53] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -457,7 +688,7 @@ static yyconst flex_int32_t yy_meta[53] =
1, 1
} ;
-static yyconst flex_int16_t yy_base[177] =
+static const flex_int16_t yy_base[177] =
{ 0,
0, 0, 374, 391, 51, 53, 391, 391, 391, 48,
362, 57, 391, 41, 41, 52, 49, 42, 59, 50,
@@ -480,7 +711,7 @@ static yyconst flex_int16_t yy_base[177] =
342, 351, 347, 391, 391, 391
} ;
-static yyconst flex_int16_t yy_def[177] =
+static const flex_int16_t yy_def[177] =
{ 0,
176, 1, 176, 176, 176, 176, 176, 176, 176, 176,
176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
@@ -503,7 +734,7 @@ static yyconst flex_int16_t yy_def[177] =
176, 176, 176, 176, 176, 0
} ;
-static yyconst flex_int16_t yy_nxt[444] =
+static const flex_int16_t yy_nxt[444] =
{ 0,
4, 5, 6, 7, 8, 4, 9, 10, 11, 12,
13, 4, 4, 14, 4, 15, 4, 16, 4, 4,
@@ -556,7 +787,7 @@ static yyconst flex_int16_t yy_nxt[444] =
176, 176, 176
} ;
-static yyconst flex_int16_t yy_chk[444] =
+static const flex_int16_t yy_chk[444] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -612,8 +843,8 @@ static yyconst flex_int16_t yy_chk[444] =
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
-extern int wkt_yy_flex_debug;
-int wkt_yy_flex_debug = 0;
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
@@ -622,7 +853,7 @@ int wkt_yy_flex_debug = 0;
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
-char *wkt_yytext;
+char *yytext;
#line 1 "lwin_wkt_lex.l"
#line 2 "lwin_wkt_lex.l"
@@ -654,16 +885,28 @@ static void wkt_lexer_unknown()
* debugging info.
*/
#define YY_USER_ACTION do { \
- wkt_yylloc.first_line = wkt_yylloc.last_line = wkt_yylineno; \
+ wkt_yylloc.first_line = wkt_yylloc.last_line = yylineno; \
wkt_yylloc.first_column = wkt_yylloc.last_column; \
- wkt_yylloc.last_column += wkt_yyleng; \
+ wkt_yylloc.last_column += yyleng; \
LWDEBUGF(5,"lex: %s", wkt_yytext); \
} while (0);
+/*
+* Ensure we have a definition of NAN to use when encountering
+* NAN tokens.
+*/
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#include <math.h>
+#ifndef NAN
+#define NAN 0.0/0.0
+#endif
+#line 906 "lwin_wkt_lex.c"
#define YY_NO_INPUT 1
/* Suppress the default implementations. */
-#line 667 "lwin_wkt_lex.c"
+#line 909 "lwin_wkt_lex.c"
#define INITIAL 0
@@ -679,36 +922,36 @@ static void wkt_lexer_unknown()
#define YY_EXTRA_TYPE void *
#endif
-static int yy_init_globals (void );
+static int yy_init_globals ( void );
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int wkt_yylex_destroy (void );
+int yylex_destroy ( void );
-int wkt_yyget_debug (void );
+int yyget_debug ( void );
-void wkt_yyset_debug (int debug_flag );
+void yyset_debug ( int debug_flag );
-YY_EXTRA_TYPE wkt_yyget_extra (void );
+YY_EXTRA_TYPE yyget_extra ( void );
-void wkt_yyset_extra (YY_EXTRA_TYPE user_defined );
+void yyset_extra ( YY_EXTRA_TYPE user_defined );
-FILE *wkt_yyget_in (void );
+FILE *yyget_in ( void );
-void wkt_yyset_in (FILE * in_str );
+void yyset_in ( FILE * _in_str );
-FILE *wkt_yyget_out (void );
+FILE *yyget_out ( void );
-void wkt_yyset_out (FILE * out_str );
+void yyset_out ( FILE * _out_str );
-yy_size_t wkt_yyget_leng (void );
+ int yyget_leng ( void );
-char *wkt_yyget_text (void );
+char *yyget_text ( void );
-int wkt_yyget_lineno (void );
+int yyget_lineno ( void );
-void wkt_yyset_lineno (int line_number );
+void yyset_lineno ( int _line_number );
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -716,33 +959,41 @@ void wkt_yyset_lineno (int line_number );
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int wkt_yywrap (void );
+extern "C" int yywrap ( void );
#else
-extern int wkt_yywrap (void );
+extern int yywrap ( void );
+#endif
#endif
+
+#ifndef YY_NO_UNPUT
+
#endif
#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
+static void yy_flex_strncpy ( char *, const char *, int );
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
+static int yy_flex_strlen ( const char * );
#endif
#ifndef YY_NO_INPUT
-
#ifdef __cplusplus
-static int yyinput (void );
+static int yyinput ( void );
#else
-static int input (void );
+static int input ( void );
#endif
#endif
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
#define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
#endif
/* Copy whatever the last rule matched to the standard output. */
@@ -750,7 +1001,7 @@ static int input (void );
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO fwrite( wkt_yytext, wkt_yyleng, 1, wkt_yyout )
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -761,20 +1012,20 @@ static int input (void );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- yy_size_t n; \
+ int n; \
for ( n = 0; n < max_size && \
- (c = getc( wkt_yyin )) != EOF && c != '\n'; ++n ) \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
if ( c == '\n' ) \
buf[n++] = (char) c; \
- if ( c == EOF && ferror( wkt_yyin ) ) \
+ if ( c == EOF && ferror( yyin ) ) \
YY_FATAL_ERROR( "input in flex scanner failed" ); \
result = n; \
} \
else \
{ \
errno=0; \
- while ( (result = fread(buf, 1, max_size, wkt_yyin))==0 && ferror(wkt_yyin)) \
+ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
@@ -782,7 +1033,7 @@ static int input (void );
break; \
} \
errno=0; \
- clearerr(wkt_yyin); \
+ clearerr(yyin); \
} \
}\
\
@@ -815,12 +1066,12 @@ static int input (void );
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1
-extern int wkt_yylex (void);
+extern int yylex (void);
-#define YY_DECL int wkt_yylex (void)
+#define YY_DECL int yylex (void)
#endif /* !YY_DECL */
-/* Code executed at the beginning of each rule, after wkt_yytext and wkt_yyleng
+/* Code executed at the beginning of each rule, after yytext and yyleng
* have been set up.
*/
#ifndef YY_USER_ACTION
@@ -829,7 +1080,7 @@ extern int wkt_yylex (void);
/* Code executed at the end of each rule. */
#ifndef YY_BREAK
-#define YY_BREAK break;
+#define YY_BREAK /*LINTED*/break;
#endif
#define YY_RULE_SETUP \
@@ -839,15 +1090,10 @@ extern int wkt_yylex (void);
*/
YY_DECL
{
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
+ yy_state_type yy_current_state;
+ char *yy_cp, *yy_bp;
+ int yy_act;
-#line 49 "lwin_wkt_lex.l"
-
-
-#line 850 "lwin_wkt_lex.c"
-
if ( !(yy_init) )
{
(yy_init) = 1;
@@ -859,26 +1105,32 @@ YY_DECL
if ( ! (yy_start) )
(yy_start) = 1; /* first start state */
- if ( ! wkt_yyin )
- wkt_yyin = stdin;
+ if ( ! yyin )
+ yyin = stdin;
- if ( ! wkt_yyout )
- wkt_yyout = stdout;
+ if ( ! yyout )
+ yyout = stdout;
if ( ! YY_CURRENT_BUFFER ) {
- wkt_yyensure_buffer_stack ();
+ yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- wkt_yy_create_buffer(wkt_yyin,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- wkt_yy_load_buffer_state( );
+ yy_load_buffer_state( );
}
- while ( 1 ) /* loops until end-of-file is reached */
+ {
+#line 60 "lwin_wkt_lex.l"
+
+
+#line 1127 "lwin_wkt_lex.c"
+
+ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
yy_cp = (yy_c_buf_p);
- /* Support of wkt_yytext. */
+ /* Support of yytext. */
*yy_cp = (yy_hold_char);
/* yy_bp points to the position in yy_ch_buf of the start of
@@ -890,7 +1142,7 @@ YY_DECL
yy_match:
do
{
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@@ -900,9 +1152,9 @@ yy_match:
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 177 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
while ( yy_current_state != 176 );
@@ -928,7 +1180,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
-#line 51 "lwin_wkt_lex.l"
+#line 62 "lwin_wkt_lex.l"
{
LWDEBUG(5,"DOUBLE");
wkt_yylval.doublevalue = atof(wkt_yytext);
@@ -939,17 +1191,17 @@ YY_RULE_SETUP
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 58 "lwin_wkt_lex.l"
+#line 69 "lwin_wkt_lex.l"
{
LWDEBUG(5,"DOUBLE NAN");
- wkt_yylval.doublevalue = atof(wkt_yytext);
+ wkt_yylval.doublevalue = NAN;
yyless(wkt_yyleng-1);
return DOUBLE_TOK;
}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 65 "lwin_wkt_lex.l"
+#line 76 "lwin_wkt_lex.l"
{
LWDEBUG(5,"SRID");
wkt_yylval.integervalue = wkt_lexer_read_srid(wkt_yytext);
@@ -958,87 +1210,87 @@ YY_RULE_SETUP
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 71 "lwin_wkt_lex.l"
+#line 82 "lwin_wkt_lex.l"
{ return COLLECTION_TOK; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 72 "lwin_wkt_lex.l"
+#line 83 "lwin_wkt_lex.l"
{ return MSURFACE_TOK; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 73 "lwin_wkt_lex.l"
+#line 84 "lwin_wkt_lex.l"
{ return MPOLYGON_TOK; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 74 "lwin_wkt_lex.l"
+#line 85 "lwin_wkt_lex.l"
{ return MCURVE_TOK; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 75 "lwin_wkt_lex.l"
+#line 86 "lwin_wkt_lex.l"
{ return MLINESTRING_TOK; }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 76 "lwin_wkt_lex.l"
+#line 87 "lwin_wkt_lex.l"
{ return MPOINT_TOK; }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 77 "lwin_wkt_lex.l"
+#line 88 "lwin_wkt_lex.l"
{ return CURVEPOLYGON_TOK; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 78 "lwin_wkt_lex.l"
+#line 89 "lwin_wkt_lex.l"
{ return POLYGON_TOK; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 79 "lwin_wkt_lex.l"
+#line 90 "lwin_wkt_lex.l"
{ return COMPOUNDCURVE_TOK; }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 80 "lwin_wkt_lex.l"
+#line 91 "lwin_wkt_lex.l"
{ return CIRCULARSTRING_TOK; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 81 "lwin_wkt_lex.l"
+#line 92 "lwin_wkt_lex.l"
{ return LINESTRING_TOK; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 82 "lwin_wkt_lex.l"
+#line 93 "lwin_wkt_lex.l"
{ return POLYHEDRALSURFACE_TOK; }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 83 "lwin_wkt_lex.l"
+#line 94 "lwin_wkt_lex.l"
{ return TRIANGLE_TOK; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 84 "lwin_wkt_lex.l"
+#line 95 "lwin_wkt_lex.l"
{ return TIN_TOK; }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 85 "lwin_wkt_lex.l"
+#line 96 "lwin_wkt_lex.l"
{ return POINT_TOK; }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 86 "lwin_wkt_lex.l"
+#line 97 "lwin_wkt_lex.l"
{ return EMPTY_TOK; }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 88 "lwin_wkt_lex.l"
+#line 99 "lwin_wkt_lex.l"
{
LWDEBUG(5,"DIMENSIONALITY");
wkt_yylval.stringvalue = wkt_yytext;
@@ -1047,33 +1299,33 @@ YY_RULE_SETUP
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 94 "lwin_wkt_lex.l"
+#line 105 "lwin_wkt_lex.l"
{ LWDEBUG(5,"LBRACKET"); return LBRACKET_TOK; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 95 "lwin_wkt_lex.l"
+#line 106 "lwin_wkt_lex.l"
{ LWDEBUG(5,"RBRACKET"); return RBRACKET_TOK; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 96 "lwin_wkt_lex.l"
+#line 107 "lwin_wkt_lex.l"
{ LWDEBUG(5,"COMMA"); return COMMA_TOK; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 97 "lwin_wkt_lex.l"
+#line 108 "lwin_wkt_lex.l"
{ LWDEBUG(5,"SEMICOLON"); return SEMICOLON_TOK; }
YY_BREAK
case 25:
/* rule 25 can match eol */
YY_RULE_SETUP
-#line 99 "lwin_wkt_lex.l"
+#line 110 "lwin_wkt_lex.l"
{ /* ignore whitespace */ LWDEBUG(5,"WHITESPACE"); }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 101 "lwin_wkt_lex.l"
+#line 112 "lwin_wkt_lex.l"
{ /* Error out and stop parsing on unknown/unexpected characters */
LWDEBUG(5,"UNKNOWN");
wkt_lexer_unknown();
@@ -1082,10 +1334,10 @@ YY_RULE_SETUP
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 107 "lwin_wkt_lex.l"
+#line 118 "lwin_wkt_lex.l"
ECHO;
YY_BREAK
-#line 1089 "lwin_wkt_lex.c"
+#line 1340 "lwin_wkt_lex.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1102,15 +1354,15 @@ case YY_STATE_EOF(INITIAL):
{
/* We're scanning a new file or input source. It's
* possible that this happened because the user
- * just pointed wkt_yyin at a new source and called
- * wkt_yylex(). If so, then we have to assure
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
* consistency between YY_CURRENT_BUFFER and our
* globals. Here is the right place to do so, because
* this is the first action (other than possibly a
* back-up) that will match for the new input source.
*/
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
- YY_CURRENT_BUFFER_LVALUE->yy_input_file = wkt_yyin;
+ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
}
@@ -1164,11 +1416,11 @@ case YY_STATE_EOF(INITIAL):
{
(yy_did_buffer_switch_on_eof) = 0;
- if ( wkt_yywrap( ) )
+ if ( yywrap( ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
- * wkt_yytext, we can now set up
+ * yytext, we can now set up
* yy_c_buf_p so that if some total
* hoser (like flex itself) wants to
* call the scanner after we return the
@@ -1217,7 +1469,8 @@ case YY_STATE_EOF(INITIAL):
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
-} /* end of wkt_yylex */
+ } /* end of user's declarations */
+} /* end of yylex */
/* yy_get_next_buffer - try to read in a new buffer
*
@@ -1228,9 +1481,9 @@ case YY_STATE_EOF(INITIAL):
*/
static int yy_get_next_buffer (void)
{
- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- register char *source = (yytext_ptr);
- register int number_to_move, i;
+ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ char *source = (yytext_ptr);
+ int number_to_move, i;
int ret_val;
if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
@@ -1259,7 +1512,7 @@ static int yy_get_next_buffer (void)
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
@@ -1272,21 +1525,21 @@ static int yy_get_next_buffer (void)
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
int yy_c_buf_p_offset =
(int) ((yy_c_buf_p) - b->yy_ch_buf);
if ( b->yy_is_our_buffer )
{
- yy_size_t new_size = b->yy_buf_size * 2;
+ int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
@@ -1295,11 +1548,12 @@ static int yy_get_next_buffer (void)
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- wkt_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
+ yyrealloc( (void *) b->yy_ch_buf,
+ (yy_size_t) (b->yy_buf_size + 2) );
}
else
/* Can't grow it, we don't own it. */
- b->yy_ch_buf = 0;
+ b->yy_ch_buf = NULL;
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR(
@@ -1327,7 +1581,7 @@ static int yy_get_next_buffer (void)
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
- wkt_yyrestart(wkt_yyin );
+ yyrestart( yyin );
}
else
@@ -1341,12 +1595,15 @@ static int yy_get_next_buffer (void)
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
- yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) wkt_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
+ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
+ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+ /* "- 2" to take care of EOB's */
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
}
(yy_n_chars) += number_to_move;
@@ -1362,14 +1619,14 @@ static int yy_get_next_buffer (void)
static yy_state_type yy_get_previous_state (void)
{
- register yy_state_type yy_current_state;
- register char *yy_cp;
+ yy_state_type yy_current_state;
+ char *yy_cp;
yy_current_state = (yy_start);
for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
{
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@@ -1379,9 +1636,9 @@ static int yy_get_next_buffer (void)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 177 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
}
return yy_current_state;
@@ -1394,10 +1651,10 @@ static int yy_get_next_buffer (void)
*/
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
{
- register int yy_is_jam;
- register char *yy_cp = (yy_c_buf_p);
+ int yy_is_jam;
+ char *yy_cp = (yy_c_buf_p);
- register YY_CHAR yy_c = 1;
+ YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@@ -1407,14 +1664,18 @@ static int yy_get_next_buffer (void)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 177 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 176);
- return yy_is_jam ? 0 : yy_current_state;
+ return yy_is_jam ? 0 : yy_current_state;
}
+#ifndef YY_NO_UNPUT
+
+#endif
+
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput (void)
@@ -1439,7 +1700,7 @@ static int yy_get_next_buffer (void)
else
{ /* need more input */
- yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
+ int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
++(yy_c_buf_p);
switch ( yy_get_next_buffer( ) )
@@ -1456,13 +1717,13 @@ static int yy_get_next_buffer (void)
*/
/* Reset buffer status. */
- wkt_yyrestart(wkt_yyin );
+ yyrestart( yyin );
/*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
- if ( wkt_yywrap( ) )
+ if ( yywrap( ) )
return 0;
if ( ! (yy_did_buffer_switch_on_eof) )
@@ -1482,7 +1743,7 @@ static int yy_get_next_buffer (void)
}
c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
- *(yy_c_buf_p) = '\0'; /* preserve wkt_yytext */
+ *(yy_c_buf_p) = '\0'; /* preserve yytext */
(yy_hold_char) = *++(yy_c_buf_p);
return c;
@@ -1494,32 +1755,32 @@ static int yy_get_next_buffer (void)
*
* @note This function does not reset the start condition to @c INITIAL .
*/
- void wkt_yyrestart (FILE * input_file )
+ void yyrestart (FILE * input_file )
{
if ( ! YY_CURRENT_BUFFER ){
- wkt_yyensure_buffer_stack ();
+ yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- wkt_yy_create_buffer(wkt_yyin,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- wkt_yy_init_buffer(YY_CURRENT_BUFFER,input_file );
- wkt_yy_load_buffer_state( );
+ yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+ yy_load_buffer_state( );
}
/** Switch to a different input buffer.
* @param new_buffer The new input buffer.
*
*/
- void wkt_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
+ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
{
/* TODO. We should be able to replace this entire function body
* with
- * wkt_yypop_buffer_state();
- * wkt_yypush_buffer_state(new_buffer);
+ * yypop_buffer_state();
+ * yypush_buffer_state(new_buffer);
*/
- wkt_yyensure_buffer_stack ();
+ yyensure_buffer_stack ();
if ( YY_CURRENT_BUFFER == new_buffer )
return;
@@ -1532,21 +1793,21 @@ static int yy_get_next_buffer (void)
}
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- wkt_yy_load_buffer_state( );
+ yy_load_buffer_state( );
/* We don't actually know whether we did this switch during
- * EOF (wkt_yywrap()) processing, but the only time this flag
- * is looked at is after wkt_yywrap() is called, so it's safe
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
* to go ahead and always set it.
*/
(yy_did_buffer_switch_on_eof) = 1;
}
-static void wkt_yy_load_buffer_state (void)
+static void yy_load_buffer_state (void)
{
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
- wkt_yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
(yy_hold_char) = *(yy_c_buf_p);
}
@@ -1556,35 +1817,35 @@ static void wkt_yy_load_buffer_state (void)
*
* @return the allocated buffer state.
*/
- YY_BUFFER_STATE wkt_yy_create_buffer (FILE * file, int size )
+ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
{
YY_BUFFER_STATE b;
- b = (YY_BUFFER_STATE) wkt_yyalloc(sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in wkt_yy_create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_buf_size = size;
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
- b->yy_ch_buf = (char *) wkt_yyalloc(b->yy_buf_size + 2 );
+ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
if ( ! b->yy_ch_buf )
- YY_FATAL_ERROR( "out of dynamic memory in wkt_yy_create_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_is_our_buffer = 1;
- wkt_yy_init_buffer(b,file );
+ yy_init_buffer( b, file );
return b;
}
/** Destroy the buffer.
- * @param b a buffer created with wkt_yy_create_buffer()
+ * @param b a buffer created with yy_create_buffer()
*
*/
- void wkt_yy_delete_buffer (YY_BUFFER_STATE b )
+ void yy_delete_buffer (YY_BUFFER_STATE b )
{
if ( ! b )
@@ -1594,27 +1855,27 @@ static void wkt_yy_load_buffer_state (void)
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
- wkt_yyfree((void *) b->yy_ch_buf );
+ yyfree( (void *) b->yy_ch_buf );
- wkt_yyfree((void *) b );
+ yyfree( (void *) b );
}
/* Initializes or reinitializes a buffer.
* This function is sometimes called more than once on the same buffer,
- * such as during a wkt_yyrestart() or at EOF.
+ * such as during a yyrestart() or at EOF.
*/
- static void wkt_yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
+ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
{
int oerrno = errno;
- wkt_yy_flush_buffer(b );
+ yy_flush_buffer( b );
b->yy_input_file = file;
b->yy_fill_buffer = 1;
- /* If b is the current buffer, then wkt_yy_init_buffer was _probably_
- * called from wkt_yyrestart() or through yy_get_next_buffer.
+ /* If b is the current buffer, then yy_init_buffer was _probably_
+ * called from yyrestart() or through yy_get_next_buffer.
* In that case, we don't want to reset the lineno or column.
*/
if (b != YY_CURRENT_BUFFER){
@@ -1631,7 +1892,7 @@ static void wkt_yy_load_buffer_state (void)
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
*
*/
- void wkt_yy_flush_buffer (YY_BUFFER_STATE b )
+ void yy_flush_buffer (YY_BUFFER_STATE b )
{
if ( ! b )
return;
@@ -1651,7 +1912,7 @@ static void wkt_yy_load_buffer_state (void)
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == YY_CURRENT_BUFFER )
- wkt_yy_load_buffer_state( );
+ yy_load_buffer_state( );
}
/** Pushes the new state onto the stack. The new state becomes
@@ -1660,14 +1921,14 @@ static void wkt_yy_load_buffer_state (void)
* @param new_buffer The new state.
*
*/
-void wkt_yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
{
if (new_buffer == NULL)
return;
- wkt_yyensure_buffer_stack();
+ yyensure_buffer_stack();
- /* This block is copied from wkt_yy_switch_to_buffer. */
+ /* This block is copied from yy_switch_to_buffer. */
if ( YY_CURRENT_BUFFER )
{
/* Flush out information for old buffer. */
@@ -1681,8 +1942,8 @@ void wkt_yypush_buffer_state (YY_BUFFER_STATE new_buffer )
(yy_buffer_stack_top)++;
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- /* copied from wkt_yy_switch_to_buffer. */
- wkt_yy_load_buffer_state( );
+ /* copied from yy_switch_to_buffer. */
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
@@ -1690,18 +1951,18 @@ void wkt_yypush_buffer_state (YY_BUFFER_STATE new_buffer )
* The next element becomes the new top.
*
*/
-void wkt_yypop_buffer_state (void)
+void yypop_buffer_state (void)
{
if (!YY_CURRENT_BUFFER)
return;
- wkt_yy_delete_buffer(YY_CURRENT_BUFFER );
+ yy_delete_buffer(YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
if ((yy_buffer_stack_top) > 0)
--(yy_buffer_stack_top);
if (YY_CURRENT_BUFFER) {
- wkt_yy_load_buffer_state( );
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
}
@@ -1709,7 +1970,7 @@ void wkt_yypop_buffer_state (void)
/* Allocates the stack if it does not exist.
* Guarantees space for at least one push.
*/
-static void wkt_yyensure_buffer_stack (void)
+static void yyensure_buffer_stack (void)
{
yy_size_t num_to_alloc;
@@ -1719,15 +1980,15 @@ static void wkt_yyensure_buffer_stack (void)
* scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call.
*/
- num_to_alloc = 1;
- (yy_buffer_stack) = (struct yy_buffer_state**)wkt_yyalloc
+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
- YY_FATAL_ERROR( "out of dynamic memory in wkt_yyensure_buffer_stack()" );
-
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-
+
(yy_buffer_stack_max) = num_to_alloc;
(yy_buffer_stack_top) = 0;
return;
@@ -1736,15 +1997,15 @@ static void wkt_yyensure_buffer_stack (void)
if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
/* Increase the buffer to prepare for a possible push. */
- int grow_size = 8 /* arbitrary grow size */;
+ yy_size_t grow_size = 8 /* arbitrary grow size */;
num_to_alloc = (yy_buffer_stack_max) + grow_size;
- (yy_buffer_stack) = (struct yy_buffer_state**)wkt_yyrealloc
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
((yy_buffer_stack),
num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
- YY_FATAL_ERROR( "out of dynamic memory in wkt_yyensure_buffer_stack()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
/* zero only the new slots.*/
memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
@@ -1756,9 +2017,9 @@ static void wkt_yyensure_buffer_stack (void)
* @param base the character buffer
* @param size the size in bytes of the character buffer
*
- * @return the newly allocated buffer state object.
+ * @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE wkt_yy_scan_buffer (char * base, yy_size_t size )
+YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
{
YY_BUFFER_STATE b;
@@ -1766,68 +2027,69 @@ YY_BUFFER_STATE wkt_yy_scan_buffer (char * base, yy_size_t size )
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
- return 0;
+ return NULL;
- b = (YY_BUFFER_STATE) wkt_yyalloc(sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
- YY_FATAL_ERROR( "out of dynamic memory in wkt_yy_scan_buffer()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
- b->yy_input_file = 0;
+ b->yy_input_file = NULL;
b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0;
b->yy_at_bol = 1;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
- wkt_yy_switch_to_buffer(b );
+ yy_switch_to_buffer( b );
return b;
}
-/** Setup the input buffer state to scan a string. The next call to wkt_yylex() will
+/** Setup the input buffer state to scan a string. The next call to yylex() will
* scan from a @e copy of @a str.
* @param yystr a NUL-terminated string to scan
*
* @return the newly allocated buffer state object.
* @note If you want to scan bytes that may contain NUL values, then use
- * wkt_yy_scan_bytes() instead.
+ * yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE wkt_yy_scan_string (yyconst char * yystr )
+YY_BUFFER_STATE yy_scan_string (const char * yystr )
{
- return wkt_yy_scan_bytes(yystr,strlen(yystr) );
+ return yy_scan_bytes( yystr, (int) strlen(yystr) );
}
-/** Setup the input buffer state to scan the given bytes. The next call to wkt_yylex() will
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
* scan from a @e copy of @a bytes.
- * @param bytes the byte buffer to scan
- * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
*
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE wkt_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
{
YY_BUFFER_STATE b;
char *buf;
- yy_size_t n, i;
+ yy_size_t n;
+ int i;
/* Get memory for full buffer, including space for trailing EOB's. */
- n = _yybytes_len + 2;
- buf = (char *) wkt_yyalloc(n );
+ n = (yy_size_t) (_yybytes_len + 2);
+ buf = (char *) yyalloc( n );
if ( ! buf )
- YY_FATAL_ERROR( "out of dynamic memory in wkt_yy_scan_bytes()" );
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
for ( i = 0; i < _yybytes_len; ++i )
buf[i] = yybytes[i];
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- b = wkt_yy_scan_buffer(buf,n );
+ b = yy_scan_buffer( buf, n );
if ( ! b )
- YY_FATAL_ERROR( "bad buffer in wkt_yy_scan_bytes()" );
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
/* It's okay to grow etc. this buffer, and we should throw it
* away when we're done.
@@ -1841,9 +2103,9 @@ YY_BUFFER_STATE wkt_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_
#define YY_EXIT_FAILURE 2
#endif
-static void yy_fatal_error (yyconst char* msg )
+static void yynoreturn yy_fatal_error (const char* msg )
{
- (void) fprintf( stderr, "%s\n", msg );
+ fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
@@ -1853,14 +2115,14 @@ static void yy_fatal_error (yyconst char* msg )
#define yyless(n) \
do \
{ \
- /* Undo effects of setting up wkt_yytext. */ \
+ /* Undo effects of setting up yytext. */ \
int yyless_macro_arg = (n); \
YY_LESS_LINENO(yyless_macro_arg);\
- wkt_yytext[wkt_yyleng] = (yy_hold_char); \
- (yy_c_buf_p) = wkt_yytext + yyless_macro_arg; \
+ yytext[yyleng] = (yy_hold_char); \
+ (yy_c_buf_p) = yytext + yyless_macro_arg; \
(yy_hold_char) = *(yy_c_buf_p); \
*(yy_c_buf_p) = '\0'; \
- wkt_yyleng = yyless_macro_arg; \
+ yyleng = yyless_macro_arg; \
} \
while ( 0 )
@@ -1869,126 +2131,126 @@ static void yy_fatal_error (yyconst char* msg )
/** Get the current line number.
*
*/
-int wkt_yyget_lineno (void)
+int yyget_lineno (void)
{
-
- return wkt_yylineno;
+
+ return yylineno;
}
/** Get the input stream.
*
*/
-FILE *wkt_yyget_in (void)
+FILE *yyget_in (void)
{
- return wkt_yyin;
+ return yyin;
}
/** Get the output stream.
*
*/
-FILE *wkt_yyget_out (void)
+FILE *yyget_out (void)
{
- return wkt_yyout;
+ return yyout;
}
/** Get the length of the current token.
*
*/
-yy_size_t wkt_yyget_leng (void)
+int yyget_leng (void)
{
- return wkt_yyleng;
+ return yyleng;
}
/** Get the current token.
*
*/
-char *wkt_yyget_text (void)
+char *yyget_text (void)
{
- return wkt_yytext;
+ return yytext;
}
/** Set the current line number.
- * @param line_number
+ * @param _line_number line number
*
*/
-void wkt_yyset_lineno (int line_number )
+void yyset_lineno (int _line_number )
{
- wkt_yylineno = line_number;
+ yylineno = _line_number;
}
/** Set the input stream. This does not discard the current
* input buffer.
- * @param in_str A readable stream.
+ * @param _in_str A readable stream.
*
- * @see wkt_yy_switch_to_buffer
+ * @see yy_switch_to_buffer
*/
-void wkt_yyset_in (FILE * in_str )
+void yyset_in (FILE * _in_str )
{
- wkt_yyin = in_str ;
+ yyin = _in_str ;
}
-void wkt_yyset_out (FILE * out_str )
+void yyset_out (FILE * _out_str )
{
- wkt_yyout = out_str ;
+ yyout = _out_str ;
}
-int wkt_yyget_debug (void)
+int yyget_debug (void)
{
- return wkt_yy_flex_debug;
+ return yy_flex_debug;
}
-void wkt_yyset_debug (int bdebug )
+void yyset_debug (int _bdebug )
{
- wkt_yy_flex_debug = bdebug ;
+ yy_flex_debug = _bdebug ;
}
static int yy_init_globals (void)
{
/* Initialization is the same as for the non-reentrant scanner.
- * This function is called from wkt_yylex_destroy(), so don't allocate here.
+ * This function is called from yylex_destroy(), so don't allocate here.
*/
- (yy_buffer_stack) = 0;
+ (yy_buffer_stack) = NULL;
(yy_buffer_stack_top) = 0;
(yy_buffer_stack_max) = 0;
- (yy_c_buf_p) = (char *) 0;
+ (yy_c_buf_p) = NULL;
(yy_init) = 0;
(yy_start) = 0;
/* Defined in main.c */
#ifdef YY_STDINIT
- wkt_yyin = stdin;
- wkt_yyout = stdout;
+ yyin = stdin;
+ yyout = stdout;
#else
- wkt_yyin = (FILE *) 0;
- wkt_yyout = (FILE *) 0;
+ yyin = NULL;
+ yyout = NULL;
#endif
/* For future reference: Set errno on error, since we are called by
- * wkt_yylex_init()
+ * yylex_init()
*/
return 0;
}
-/* wkt_yylex_destroy is for both reentrant and non-reentrant scanners. */
-int wkt_yylex_destroy (void)
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy (void)
{
/* Pop the buffer stack, destroying each element. */
while(YY_CURRENT_BUFFER){
- wkt_yy_delete_buffer(YY_CURRENT_BUFFER );
+ yy_delete_buffer( YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
- wkt_yypop_buffer_state();
+ yypop_buffer_state();
}
/* Destroy the stack itself. */
- wkt_yyfree((yy_buffer_stack) );
+ yyfree((yy_buffer_stack) );
(yy_buffer_stack) = NULL;
/* Reset the globals. This is important in a non-reentrant scanner so the next time
- * wkt_yylex() is called, initialization will occur. */
+ * yylex() is called, initialization will occur. */
yy_init_globals( );
return 0;
@@ -1999,18 +2261,19 @@ int wkt_yylex_destroy (void)
*/
#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+static void yy_flex_strncpy (char* s1, const char * s2, int n )
{
- register int i;
+
+ int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
+static int yy_flex_strlen (const char * s )
{
- register int n;
+ int n;
for ( n = 0; s[n]; ++n )
;
@@ -2020,8 +2283,7 @@ static int yy_flex_strlen (yyconst char * s )
#define YYTABLES_NAME "yytables"
-#line 107 "lwin_wkt_lex.l"
-
+#line 118 "lwin_wkt_lex.l"
void *wkt_yyalloc (yy_size_t size )
diff --git a/liblwgeom/lwin_wkt_lex.l b/liblwgeom/lwin_wkt_lex.l
index 273a979..d301a22 100644
--- a/liblwgeom/lwin_wkt_lex.l
+++ b/liblwgeom/lwin_wkt_lex.l
@@ -34,6 +34,17 @@ static void wkt_lexer_unknown()
LWDEBUGF(5,"lex: %s", wkt_yytext); \
} while (0);
+/*
+* Ensure we have a definition of NAN to use when encountering
+* NAN tokens.
+*/
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#include <math.h>
+#ifndef NAN
+#define NAN 0.0/0.0
+#endif
%}
@@ -57,7 +68,7 @@ static void wkt_lexer_unknown()
([Nn][Aa][Nn])[ \,\)\t\n\r] {
LWDEBUG(5,"DOUBLE NAN");
- wkt_yylval.doublevalue = atof(wkt_yytext);
+ wkt_yylval.doublevalue = NAN;
yyless(wkt_yyleng-1);
return DOUBLE_TOK;
}
-----------------------------------------------------------------------
Summary of changes:
liblwgeom/lwin_wkt_lex.c | 942 ++++++++++++++++++++++++++++++-----------------
liblwgeom/lwin_wkt_lex.l | 13 +-
2 files changed, 614 insertions(+), 341 deletions(-)
hooks/post-receive
--
PostGIS
More information about the postgis-tickets
mailing list