#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 1
+#define YY_FLEX_SUBMINOR_VERSION 4
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
#define UINT32_MAX (4294967295U)
#endif
+#ifndef SIZE_MAX
+#define SIZE_MAX (~(size_t)0)
+#endif
+
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
+/* begin standard C++ headers. */
+
/* TODO: this is always defined, so inline it */
#define yyconst const
/* 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 yyrestart(yyin )
-
+#define YY_NEW_FILE yyrestart( yyin )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#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)
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
-
#define unput(c) yyunput( c, (yytext_ptr) )
#ifndef YY_STRUCT_YY_BUFFER_STATE
#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.
*/
*/
static int yy_did_buffer_switch_on_eof;
-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 yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
+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 );
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+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 )
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
+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 );
-void *yyalloc (yy_size_t );
-void *yyrealloc (void *,yy_size_t );
-void yyfree (void * );
+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 ){ \
yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- yy_create_buffer(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 ){\
yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- yy_create_buffer(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 yywrap() (/*CONSTCOND*/1)
#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
+typedef flex_uint8_t YY_CHAR;
FILE *yyin = NULL, *yyout = NULL;
typedef int yy_state_type;
extern int yylineno;
-
int yylineno = 1;
extern char *yytext;
#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 yynoreturn 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 yytext.
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-
#define YY_NUM_RULES 112
#define YY_END_OF_BUFFER 113
/* This struct is not used in this scanner,
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[587] =
+static const flex_int16_t yy_accept[587] =
{ 0,
0, 0, 113, 108, 103, 104, 95, 109, 106, 89,
96, 93, 94, 99, 110, 108, 108, 108, 108, 108,
108, 108, 108, 9, 8, 0
} ;
-static yyconst YY_CHAR yy_ec[256] =
+static const YY_CHAR yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1
} ;
-static yyconst YY_CHAR yy_meta[52] =
+static const YY_CHAR yy_meta[52] =
{ 0,
1, 2, 3, 1, 2, 1, 1, 1, 1, 1,
1, 1, 4, 4, 4, 4, 4, 4, 4, 4,
1
} ;
-static yyconst flex_uint16_t yy_base[593] =
+static const flex_int16_t yy_base[593] =
{ 0,
0, 0, 801, 0, 50, 802, 0, 49, 55, 0,
0, 0, 0, 67, 59, 767, 19, 49, 34, 56,
} ;
-static yyconst flex_int16_t yy_def[593] =
+static const flex_int16_t yy_def[593] =
{ 0,
586, 1, 586, 587, 586, 586, 587, 588, 589, 587,
587, 587, 587, 587, 586, 587, 587, 587, 587, 587,
} ;
-static yyconst flex_uint16_t yy_nxt[854] =
+static const flex_int16_t yy_nxt[854] =
{ 0,
4, 5, 6, 7, 8, 9, 10, 4, 11, 12,
13, 4, 14, 14, 14, 14, 14, 14, 14, 14,
586, 586, 586
} ;
-static yyconst flex_int16_t yy_chk[854] =
+static const flex_int16_t yy_chk[854] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "lexer.l"
-/*
- * Copyright (C)1996-1997,1999 Ian Jackson
- *
- * This 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 of the License, 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 userv; if not, write to the Free Software
- * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/* userv is
+ * Copyright 1996-2017 Ian Jackson <ian@davenant.greenend.org.uk>.
+ * Copyright 2000 Ben Harris <bjh21@cam.ac.uk>
+ * Copyright 2016-2017 Peter Benie <pjb1008@cam.ac.uk>
+ *
+ * This 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 3 of the License, 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 userv; if not, see <http://www.gnu.org/licenses/>.
*/
-#line 20 "lexer.l"
+#line 21 "lexer.l"
#define YY_NO_INPUT
-#line 975 "<stdout>"
+#line 967 "<stdout>"
+#line 968 "<stdout>"
#define INITIAL 0
#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 yylex_destroy (void );
+int yylex_destroy ( void );
-int yyget_debug (void );
+int yyget_debug ( void );
-void yyset_debug (int debug_flag );
+void yyset_debug ( int debug_flag );
-YY_EXTRA_TYPE yyget_extra (void );
+YY_EXTRA_TYPE yyget_extra ( void );
-void yyset_extra (YY_EXTRA_TYPE user_defined );
+void yyset_extra ( YY_EXTRA_TYPE user_defined );
-FILE *yyget_in (void );
+FILE *yyget_in ( void );
-void yyset_in (FILE * _in_str );
+void yyset_in ( FILE * _in_str );
-FILE *yyget_out (void );
+FILE *yyget_out ( void );
-void yyset_out (FILE * _out_str );
+void yyset_out ( FILE * _out_str );
- int yyget_leng (void );
+ int yyget_leng ( void );
-char *yyget_text (void );
+char *yyget_text ( void );
-int yyget_lineno (void );
+int yyget_lineno ( void );
-void 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.
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int yywrap (void );
+extern "C" int yywrap ( void );
#else
-extern int yywrap (void );
+extern int yywrap ( void );
#endif
#endif
#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
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- size_t n; \
+ int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
else \
{ \
errno=0; \
- while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
if ( ! YY_CURRENT_BUFFER ) {
yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- yy_create_buffer(yyin,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
}
{
-#line 145 "lexer.l"
+#line 146 "lexer.l"
-#line 1194 "<stdout>"
+#line 1186 "<stdout>"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 587 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
while ( yy_base[yy_current_state] != 802 );
case 1:
YY_RULE_SETUP
-#line 147 "lexer.l"
+#line 148 "lexer.l"
{ lr_dir= df_reject; return tokv_word_reject; }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 148 "lexer.l"
+#line 149 "lexer.l"
{ lr_dir= df_executefromdirectory; return tokv_word_executefromdirectory; }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 149 "lexer.l"
+#line 150 "lexer.l"
{ lr_dir= df_executefrompath; return tokv_word_executefrompath; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 150 "lexer.l"
+#line 151 "lexer.l"
{ lr_dir= df_executebuiltin; return tokv_word_executebuiltin; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 151 "lexer.l"
+#line 152 "lexer.l"
{ lr_dir= df_errorstostderr; return tokv_word_errorstostderr; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 152 "lexer.l"
+#line 153 "lexer.l"
{ lr_dir= df_errorstosyslog; return tokv_word_errorstosyslog; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 153 "lexer.l"
+#line 154 "lexer.l"
{ lr_dir= df_errorstofile; return tokv_word_errorstofile; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 154 "lexer.l"
+#line 155 "lexer.l"
{ lr_dir= dfg_lookupquotemode; return tokv_word_includelookupquoteold; }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 155 "lexer.l"
+#line 156 "lexer.l"
{ lr_dir= dfg_lookupquotemode; return tokv_word_includelookupquotenew; }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 156 "lexer.l"
+#line 157 "lexer.l"
{ lr_dir= dfg_fdwant; lr_fdwant_readwrite=1; return tokv_word_requirefd; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 157 "lexer.l"
+#line 158 "lexer.l"
{ lr_dir= dfg_fdwant; lr_fdwant_readwrite=0; return tokv_word_allowfd; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 158 "lexer.l"
+#line 159 "lexer.l"
{ lr_dir= dfg_fdwant; lr_fdwant_readwrite=0; return tokv_word_nullfd; }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 159 "lexer.l"
+#line 160 "lexer.l"
{ lr_dir= dfg_fdwant; lr_fdwant_readwrite=-1; return tokv_word_rejectfd; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 160 "lexer.l"
+#line 161 "lexer.l"
{ lr_dir= dfg_fdwant; lr_fdwant_readwrite=-1; return tokv_word_ignorefd; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 161 "lexer.l"
+#line 162 "lexer.l"
{ lr_dir= dfg_setflag; lr_flag= &setenvironment; lr_flagval= 1; return tokv_word_setenvironment; }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 162 "lexer.l"
+#line 163 "lexer.l"
{ lr_dir= dfg_setflag; lr_flag= &setenvironment; lr_flagval= 0; return tokv_word_nosetenvironment; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 163 "lexer.l"
+#line 164 "lexer.l"
{ lr_dir= dfg_setflag; lr_flag= &suppressargs; lr_flagval= 1; return tokv_word_suppressargs; }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 164 "lexer.l"
+#line 165 "lexer.l"
{ lr_dir= dfg_setflag; lr_flag= &suppressargs; lr_flagval= 0; return tokv_word_nosuppressargs; }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 165 "lexer.l"
+#line 166 "lexer.l"
{ lr_dir= dfg_setflag; lr_flag= &disconnecthup; lr_flagval= 1; return tokv_word_disconnecthup; }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 166 "lexer.l"
+#line 167 "lexer.l"
{ lr_dir= dfg_setflag; lr_flag= &disconnecthup; lr_flagval= 0; return tokv_word_nodisconnecthup; }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 167 "lexer.l"
+#line 168 "lexer.l"
{ lr_dir= df_cd; return tokv_word_cd; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 168 "lexer.l"
+#line 169 "lexer.l"
{ lr_dir= df_userrcfile; return tokv_word_userrcfile; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 169 "lexer.l"
+#line 170 "lexer.l"
{ lr_dir= df_include; return tokv_word_include; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 170 "lexer.l"
+#line 171 "lexer.l"
{ lr_dir= df_include; return tokv_word_includeifexist; }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 171 "lexer.l"
+#line 172 "lexer.l"
{ lr_dir= df_includelookup; return tokv_word_includelookup; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 172 "lexer.l"
+#line 173 "lexer.l"
{ lr_dir= df_includelookup; return tokv_word_includelookupall; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 173 "lexer.l"
+#line 174 "lexer.l"
{ lr_dir= df_includedirectory; return tokv_word_includedirectory; }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 174 "lexer.l"
+#line 175 "lexer.l"
{ lr_dir= df_message; return tokv_word_message; }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 175 "lexer.l"
+#line 176 "lexer.l"
{ lr_dir= df_include; return tokv_word_includesysconfig; }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 176 "lexer.l"
+#line 177 "lexer.l"
{ lr_dir= dfi_includeuserrcfile; return tokv_word_includeuserrcfile; }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 177 "lexer.l"
+#line 178 "lexer.l"
{ lr_dir= dfi_includeclientconfig; return tokv_word_includeclientconfig; }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 178 "lexer.l"
+#line 179 "lexer.l"
{ lr_dir= df_quit; return tokv_word_quit; }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 179 "lexer.l"
+#line 180 "lexer.l"
{ lr_dir= df_eof; return tokv_word_eof; }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 180 "lexer.l"
+#line 181 "lexer.l"
{ lr_dir= df_if; return tokv_word_if; }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 181 "lexer.l"
+#line 182 "lexer.l"
{ lr_dir= df_catchquit; return tokv_word_catchquit; }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 182 "lexer.l"
+#line 183 "lexer.l"
{ lr_dir= df_errorspush; return tokv_word_errorspush; }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 183 "lexer.l"
+#line 184 "lexer.l"
{ lr_controlend= tokv_word_if; return tokv_word_elif; }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 184 "lexer.l"
+#line 185 "lexer.l"
{ lr_controlend= tokv_word_if; return tokv_word_else; }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 185 "lexer.l"
+#line 186 "lexer.l"
{ lr_controlend= tokv_word_if; return tokv_word_fi; }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 186 "lexer.l"
+#line 187 "lexer.l"
{ lr_controlend= tokv_word_catchquit; return tokv_word_hctac; }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 187 "lexer.l"
+#line 188 "lexer.l"
{ lr_controlend= tokv_word_errorspush; return tokv_word_srorre; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 188 "lexer.l"
+#line 189 "lexer.l"
{ lr_parmcond= pcf_glob; return tokv_word_glob; }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 189 "lexer.l"
+#line 190 "lexer.l"
{ lr_parmcond= pcf_range; return tokv_word_range; }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 190 "lexer.l"
+#line 191 "lexer.l"
{ lr_parmcond= pcf_grep; return tokv_word_grep; }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 191 "lexer.l"
+#line 192 "lexer.l"
{ lr_bispa= bispa_none; lr_bisexec= bisexec_environment; return tokv_word_environment; }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 192 "lexer.l"
+#line 193 "lexer.l"
{ lr_bispa= bispa_parameter; lr_bisexec= bisexec_parameter; return tokv_word_parameter; }
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 193 "lexer.l"
+#line 194 "lexer.l"
{ lr_bispa= bispa_none; lr_bisexec= bisexec_version; return tokv_word_version; }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 194 "lexer.l"
+#line 195 "lexer.l"
{ lr_bispa= bispa_none; lr_bisexec= bisexec_toplevel; return tokv_word_toplevel; }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 195 "lexer.l"
+#line 196 "lexer.l"
{ lr_bispa= bispa_none; lr_bisexec= bisexec_override; return tokv_word_override; }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 196 "lexer.l"
+#line 197 "lexer.l"
{ lr_bispa= bispa_none; lr_bisexec= bisexec_shutdown; return tokv_word_shutdown; }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 197 "lexer.l"
+#line 198 "lexer.l"
{ lr_bispa= bispa_none; lr_bisexec= bisexec_reset; lr_dir= df_reset; return tokv_word_reset; }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 198 "lexer.l"
+#line 199 "lexer.l"
{ lr_bispa= bispa_none; lr_bisexec= bisexec_execute; lr_dir= df_execute; return tokv_word_execute; }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 199 "lexer.l"
+#line 200 "lexer.l"
{ lr_bispa= bispa_none; lr_bisexec= bisexec_help; return tokv_word_help; }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 200 "lexer.l"
+#line 201 "lexer.l"
{ lr_parameter= pf_service; return tokv_word_service; }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 201 "lexer.l"
+#line 202 "lexer.l"
{ lr_parameter= pf_callinguser; return tokv_word_callinguser; }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 202 "lexer.l"
+#line 203 "lexer.l"
{ lr_parameter= pf_callinggroup; return tokv_word_callinggroup; }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 203 "lexer.l"
+#line 204 "lexer.l"
{ lr_parameter= pf_callingusershell; return tokv_word_callingusershell; }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 204 "lexer.l"
+#line 205 "lexer.l"
{ lr_parameter= pf_serviceuser; return tokv_word_serviceuser; }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 205 "lexer.l"
+#line 206 "lexer.l"
{ lr_parameter= pf_servicegroup; return tokv_word_servicegroup; }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 206 "lexer.l"
+#line 207 "lexer.l"
{ lr_parameter= pf_serviceusershell; return tokv_word_serviceusershell; }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 207 "lexer.l"
+#line 208 "lexer.l"
{ lr_loglevel= LOG_DEBUG; return tokv_syslog_debug; }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 208 "lexer.l"
+#line 209 "lexer.l"
{ lr_loglevel= LOG_INFO; return tokv_syslog_info; }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 209 "lexer.l"
+#line 210 "lexer.l"
{ lr_loglevel= LOG_NOTICE; return tokv_syslog_notice; }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 210 "lexer.l"
+#line 211 "lexer.l"
{ lr_loglevel= LOG_WARNING; return tokv_syslog_warning; }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 211 "lexer.l"
+#line 212 "lexer.l"
{ lr_loglevel= LOG_ERR; return tokv_syslog_err; }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 212 "lexer.l"
+#line 213 "lexer.l"
{ lr_loglevel= LOG_CRIT; return tokv_syslog_crit; }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 213 "lexer.l"
+#line 214 "lexer.l"
{ lr_loglevel= LOG_ALERT; return tokv_syslog_alert; }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 214 "lexer.l"
+#line 215 "lexer.l"
{ lr_loglevel= LOG_EMERG; return tokv_syslog_emerg; }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 215 "lexer.l"
+#line 216 "lexer.l"
{ lr_logfacility= LOG_AUTHPRIV; return tokv_syslog_authpriv; }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 216 "lexer.l"
+#line 217 "lexer.l"
{ lr_logfacility= LOG_CRON; return tokv_syslog_cron; }
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 217 "lexer.l"
+#line 218 "lexer.l"
{ lr_logfacility= LOG_DAEMON; return tokv_syslog_daemon; }
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 218 "lexer.l"
+#line 219 "lexer.l"
{ lr_logfacility= LOG_KERN; return tokv_syslog_kern; }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 219 "lexer.l"
+#line 220 "lexer.l"
{ lr_logfacility= LOG_LPR; return tokv_syslog_lpr; }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 220 "lexer.l"
+#line 221 "lexer.l"
{ lr_logfacility= LOG_MAIL; return tokv_syslog_mail; }
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 221 "lexer.l"
+#line 222 "lexer.l"
{ lr_logfacility= LOG_NEWS; return tokv_syslog_news; }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 222 "lexer.l"
+#line 223 "lexer.l"
{ lr_logfacility= LOG_SYSLOG; return tokv_syslog_syslog; }
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 223 "lexer.l"
+#line 224 "lexer.l"
{ lr_logfacility= LOG_USER; return tokv_syslog_user; }
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 224 "lexer.l"
+#line 225 "lexer.l"
{ lr_logfacility= LOG_UUCP; return tokv_syslog_uucp; }
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 225 "lexer.l"
+#line 226 "lexer.l"
{ lr_logfacility= LOG_LOCAL0; return tokv_syslog_local0; }
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 226 "lexer.l"
+#line 227 "lexer.l"
{ lr_logfacility= LOG_LOCAL1; return tokv_syslog_local1; }
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 227 "lexer.l"
+#line 228 "lexer.l"
{ lr_logfacility= LOG_LOCAL2; return tokv_syslog_local2; }
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 228 "lexer.l"
+#line 229 "lexer.l"
{ lr_logfacility= LOG_LOCAL3; return tokv_syslog_local3; }
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 229 "lexer.l"
+#line 230 "lexer.l"
{ lr_logfacility= LOG_LOCAL4; return tokv_syslog_local4; }
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 230 "lexer.l"
+#line 231 "lexer.l"
{ lr_logfacility= LOG_LOCAL5; return tokv_syslog_local5; }
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 231 "lexer.l"
+#line 232 "lexer.l"
{ lr_logfacility= LOG_LOCAL6; return tokv_syslog_local6; }
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 232 "lexer.l"
+#line 233 "lexer.l"
{ lr_logfacility= LOG_LOCAL7; return tokv_syslog_local7; }
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 233 "lexer.l"
+#line 234 "lexer.l"
{ return tokv_word_read; }
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 234 "lexer.l"
+#line 235 "lexer.l"
{ return tokv_word_write; }
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 235 "lexer.l"
+#line 236 "lexer.l"
{ return tokv_dollar; }
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 236 "lexer.l"
+#line 237 "lexer.l"
{ lr_max= lr_min= 0; return tokv_word_stdin; }
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 237 "lexer.l"
+#line 238 "lexer.l"
{ lr_max= lr_min= 1; return tokv_word_stdout; }
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 238 "lexer.l"
+#line 239 "lexer.l"
{ lr_max= lr_min= 2; return tokv_word_stderr; }
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 239 "lexer.l"
+#line 240 "lexer.l"
{ return tokv_openparen; }
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 240 "lexer.l"
+#line 241 "lexer.l"
{ return tokv_closeparen; }
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 241 "lexer.l"
+#line 242 "lexer.l"
{ return tokv_not; }
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 242 "lexer.l"
+#line 243 "lexer.l"
{ return tokv_and; }
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 243 "lexer.l"
+#line 244 "lexer.l"
{ return tokv_or; }
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 244 "lexer.l"
+#line 245 "lexer.l"
{ lr_dir= df_error; lr_loglevel= LOG_ERR; return tokv_word_error; }
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 248 "lexer.l"
+#line 249 "lexer.l"
{
char *ep;
lr_min=lr_max= (int)strtoul(yytext,&ep,10);
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 254 "lexer.l"
+#line 255 "lexer.l"
{
char *ep;
lr_min= (int)strtoul(yytext,&ep,10);
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 265 "lexer.l"
+#line 266 "lexer.l"
{
char *ep;
lr_min= (int)strtoul(yytext,&ep,10);
case 102:
/* rule 102 can match eol */
YY_RULE_SETUP
-#line 273 "lexer.l"
+#line 274 "lexer.l"
countnewlines(); return tokv_lwsp;
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 274 "lexer.l"
+#line 275 "lexer.l"
return tokv_lwsp;
YY_BREAK
case 104:
/* rule 104 can match eol */
YY_RULE_SETUP
-#line 275 "lexer.l"
+#line 276 "lexer.l"
cstate->lineno++; return tokv_newline;
YY_BREAK
case 105:
/* rule 105 can match eol */
YY_RULE_SETUP
-#line 276 "lexer.l"
+#line 277 "lexer.l"
cstate->lineno++; return tokv_newline;
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 277 "lexer.l"
+#line 278 "lexer.l"
return parseerrprint("missing newline at eof after comment");
YY_BREAK
case 107:
/* rule 107 can match eol */
YY_RULE_SETUP
-#line 278 "lexer.l"
+#line 279 "lexer.l"
{
countnewlines();
return dequote(yytext);
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 282 "lexer.l"
+#line 283 "lexer.l"
return tokv_barestring;
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 283 "lexer.l"
+#line 284 "lexer.l"
return tokv_eof;
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 284 "lexer.l"
+#line 285 "lexer.l"
return parseerrprint("misquoted or unterminated string");
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 285 "lexer.l"
+#line 286 "lexer.l"
return parseerrprint("unexpected backslash");
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 286 "lexer.l"
+#line 287 "lexer.l"
abort(); /* expect lex warning "rule cannot be matched" */
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 289 "lexer.l"
+#line 290 "lexer.l"
ECHO;
YY_BREAK
-#line 1844 "<stdout>"
+#line 1836 "<stdout>"
case YY_END_OF_BUFFER:
{
{
(yy_did_buffer_switch_on_eof) = 0;
- if ( yywrap( ) )
+ if ( yywrap( ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- 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. */
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
- yyrestart(yyin );
+ yyrestart( yyin );
}
else
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. */
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,new_size );
+ 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;
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 587 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
}
return yy_current_state;
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 587 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 586);
return yy_is_jam ? 0 : yy_current_state;
else
{ /* need more input */
- int 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( ) )
*/
/* Reset buffer status. */
- yyrestart(yyin );
+ yyrestart( yyin );
/*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
- if ( yywrap( ) )
+ if ( yywrap( ) )
return 0;
if ( ! (yy_did_buffer_switch_on_eof) )
if ( ! YY_CURRENT_BUFFER ){
yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- yy_create_buffer(yyin,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- yy_init_buffer(YY_CURRENT_BUFFER,input_file );
- yy_load_buffer_state( );
+ yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+ yy_load_buffer_state( );
}
/** Switch to a different input buffer.
}
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
/* We don't actually know whether we did this switch during
* EOF (yywrap()) processing, but the only time this flag
{
YY_BUFFER_STATE b;
- b = (YY_BUFFER_STATE) 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 yy_create_buffer()" );
- b->yy_buf_size = (yy_size_t)size;
+ 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 *) 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 yy_create_buffer()" );
b->yy_is_our_buffer = 1;
- yy_init_buffer(b,file );
+ yy_init_buffer( b, file );
return b;
}
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
- yyfree((void *) b->yy_ch_buf );
+ yyfree( (void *) b->yy_ch_buf );
- yyfree((void *) b );
+ yyfree( (void *) b );
}
/* Initializes or reinitializes a buffer.
{
int oerrno = errno;
- yy_flush_buffer(b );
+ yy_flush_buffer( b );
b->yy_input_file = file;
b->yy_fill_buffer = 1;
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == YY_CURRENT_BUFFER )
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
}
/** Pushes the new state onto the stack. The new state becomes
YY_CURRENT_BUFFER_LVALUE = new_buffer;
/* copied from yy_switch_to_buffer. */
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
--(yy_buffer_stack_top);
if (YY_CURRENT_BUFFER) {
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
}
*/
static void yyensure_buffer_stack (void)
{
- int num_to_alloc;
+ yy_size_t num_to_alloc;
if (!(yy_buffer_stack)) {
/* They forgot to leave room for the EOB's. */
return NULL;
- b = (YY_BUFFER_STATE) 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 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 = NULL;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
- yy_switch_to_buffer(b );
+ yy_switch_to_buffer( b );
return b;
}
* @note If you want to scan bytes that may contain NUL values, then use
* yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+YY_BUFFER_STATE yy_scan_string (const char * yystr )
{
- return yy_scan_bytes(yystr,(int) strlen(yystr) );
+ return yy_scan_bytes( yystr, (int) strlen(yystr) );
}
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
*
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
{
YY_BUFFER_STATE b;
char *buf;
/* Get memory for full buffer, including space for trailing EOB's. */
n = (yy_size_t) (_yybytes_len + 2);
- buf = (char *) yyalloc(n );
+ buf = (char *) yyalloc( n );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- b = yy_scan_buffer(buf,n );
+ b = yy_scan_buffer( buf, n );
if ( ! b )
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
#define YY_EXIT_FAILURE 2
#endif
-static void yynoreturn 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 );
}
/* Pop the buffer stack, destroying each element. */
while(YY_CURRENT_BUFFER){
- yy_delete_buffer(YY_CURRENT_BUFFER );
+ yy_delete_buffer( YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
yypop_buffer_state();
}
*/
#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 )
{
int i;
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
+static int yy_flex_strlen (const char * s )
{
int n;
for ( n = 0; s[n]; ++n )
#define YYTABLES_NAME "yytables"
-#line 289 "lexer.l"
-
+#line 290 "lexer.l"
const char *const builtinservicehelpstrings[]= {