Message ID | 20161114145700.8975-1-cbosdonnat@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Has this one been buried in the mail stack? -- Cedric On Mon, 2016-11-14 at 15:57 +0100, Cédric Bosdonnat wrote: > Qdisk supports qcow and qcow2, extend it to also support qed disk > format. > > Signed-off-by: Cédric Bosdonnat <cbosdonnat@suse.com> > --- > tools/libxl/libxl_device.c | 1 + > tools/libxl/libxl_dm.c | 1 + > tools/libxl/libxl_types.idl | 1 + > tools/libxl/libxl_utils.c | 2 + > tools/libxl/libxlu_disk_l.c | 1018 ++++++++++++++++++++++--------------------- > tools/libxl/libxlu_disk_l.h | 53 +-- > tools/libxl/libxlu_disk_l.l | 3 +- > 7 files changed, 539 insertions(+), 540 deletions(-) > > diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c > index 3e7a102..6c34141 100644 > --- a/tools/libxl/libxl_device.c > +++ b/tools/libxl/libxl_device.c > @@ -411,6 +411,7 @@ char *libxl__device_disk_string_of_format(libxl_disk_format format) > case LIBXL_DISK_FORMAT_VHD: return "vhd"; > case LIBXL_DISK_FORMAT_RAW: > case LIBXL_DISK_FORMAT_EMPTY: return "aio"; > + case LIBXL_DISK_FORMAT_QED: return "qed"; > default: return NULL; > } > } > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c > index ad366a8..8b37342 100644 > --- a/tools/libxl/libxl_dm.c > +++ b/tools/libxl/libxl_dm.c > @@ -677,6 +677,7 @@ static const char *qemu_disk_format_string(libxl_disk_format format) > case LIBXL_DISK_FORMAT_VHD: return "vpc"; > case LIBXL_DISK_FORMAT_RAW: return "raw"; > case LIBXL_DISK_FORMAT_EMPTY: return NULL; > + case LIBXL_DISK_FORMAT_QED: return "qed"; > default: return NULL; > } > } > diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl > index a32c751..a612d1f 100644 > --- a/tools/libxl/libxl_types.idl > +++ b/tools/libxl/libxl_types.idl > @@ -114,6 +114,7 @@ libxl_disk_format = Enumeration("disk_format", [ > (3, "VHD"), > (4, "RAW"), > (5, "EMPTY"), > + (6, "QED"), > ]) > > libxl_disk_backend = Enumeration("disk_backend", [ > diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c > index 49cbaa5..507ee56 100644 > --- a/tools/libxl/libxl_utils.c > +++ b/tools/libxl/libxl_utils.c > @@ -317,6 +317,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend > *backend = LIBXL_DISK_BACKEND_QDISK; > } else if (!strcmp(p, "qcow2")) { > *backend = LIBXL_DISK_BACKEND_QDISK; > + } else if (!strcmp(p, "qed")) { > + *backend = LIBXL_DISK_BACKEND_QDISK; > } > } > out: > diff --git a/tools/libxl/libxlu_disk_l.c b/tools/libxl/libxlu_disk_l.c > index 54160ca..fa09a69 100644 > --- a/tools/libxl/libxlu_disk_l.c > +++ b/tools/libxl/libxlu_disk_l.c > @@ -1,10 +1,7 @@ > #line 2 "libxlu_disk_l.c" > -#line 31 "libxlu_disk_l.l" > #include "libxl_osdeps.h" /* must come before any other headers */ > > - > - > -#line 8 "libxlu_disk_l.c" > +#line 5 "libxlu_disk_l.c" > > #define YY_INT_ALIGNED short int > > @@ -12,8 +9,8 @@ > > #define FLEX_SCANNER > #define YY_FLEX_MAJOR_VERSION 2 > -#define YY_FLEX_MINOR_VERSION 5 > -#define YY_FLEX_SUBMINOR_VERSION 39 > +#define YY_FLEX_MINOR_VERSION 6 > +#define YY_FLEX_SUBMINOR_VERSION 1 > #if YY_FLEX_SUBMINOR_VERSION > 0 > #define FLEX_BETA > #endif > @@ -92,25 +89,13 @@ typedef unsigned int flex_uint32_t; > > #endif /* ! FLEXINT_H */ > > -#ifdef __cplusplus > - > -/* The "const" storage-class-modifier is valid. */ > -#define YY_USE_CONST > - > -#else /* ! __cplusplus */ > - > -/* C99 requires __STDC__ to be defined as 1. */ > -#if defined (__STDC__) > - > -#define YY_USE_CONST > - > -#endif /* defined (__STDC__) */ > -#endif /* ! __cplusplus */ > - > -#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. */ > @@ -223,12 +208,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 > @@ -307,7 +292,7 @@ static void xlu__disk_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yys > > YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); > YY_BUFFER_STATE xlu__disk_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); > -YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); > +YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); > > void *xlu__disk_yyalloc (yy_size_t ,yyscan_t yyscanner ); > void *xlu__disk_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); > @@ -337,7 +322,7 @@ void xlu__disk_yyfree (void * ,yyscan_t yyscanner ); > > #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) > > -#define xlu__disk_yywrap(yyscanner) 1 > +#define xlu__disk_yywrap(yyscanner) (/*CONSTCOND*/1) > #define YY_SKIP_YYWRAP > > typedef unsigned char YY_CHAR; > @@ -349,7 +334,7 @@ typedef int yy_state_type; > static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); > static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); > static int yy_get_next_buffer (yyscan_t yyscanner ); > -static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); > +static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); > > /* Done after the current pattern has been matched and before the > * corresponding action - sets up yytext. > @@ -357,7 +342,7 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); > #define YY_DO_BEFORE_ACTION \ > yyg->yytext_ptr = yy_bp; \ > yyg->yytext_ptr -= yyg->yy_more_len; \ > - yyleng = (size_t) (yy_cp - yyg->yytext_ptr); \ > + yyleng = (int) (yy_cp - yyg->yytext_ptr); \ > yyg->yy_hold_char = *yy_cp; \ > *yy_cp = '\0'; \ > yyg->yy_c_buf_p = yy_cp; > @@ -371,7 +356,7 @@ struct yy_trans_info > flex_int32_t yy_verify; > flex_int32_t yy_nxt; > }; > -static yyconst flex_int16_t yy_acclist[575] = > +static yyconst flex_int16_t yy_acclist[576] = > { 0, > 35, 35, 37, 33, 34, 36, 8193, 33, 34, 36, > 16385, 8193, 33, 36,16385, 33, 34, 36, 34, 36, > @@ -384,61 +369,61 @@ static yyconst flex_int16_t yy_acclist[575] = > 8193, 33, 33, 8224, 33,16416, 33, 33, 33, 33, > 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, > > - 33, 33, 33, 33, 33, 33, 33, 33, 33, 35, > - 8193, 33, 8193, 33, 8193, 8224, 33, 8224, 33, 8224, > - 23, 33, 33, 33, 33, 33, 33, 33, 33, 33, > 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, > - 33, 33, 33, 33, 33, 8224, 33, 8224, 33, 8224, > - 23, 33, 33, 28, 8224, 33,16416, 33, 33, 15, > - 33, 33, 33, 33, 33, 33, 33, 33, 33, 8217, > - 8224, 33,16409,16416, 33, 33, 31, 8224, 33,16416, > - 33, 8216, 8224, 33,16408,16416, 33, 33, 8219, 8224, > - 33,16411,16416, 33, 33, 33, 33, 33, 28, 8224, > - > - 33, 28, 8224, 33, 28, 33, 28, 8224, 33, 3, > - 33, 15, 33, 33, 33, 33, 33, 30, 8224, 33, > - 16416, 33, 33, 33, 8217, 8224, 33, 8217, 8224, 33, > - 8217, 33, 8217, 8224, 33, 33, 31, 8224, 33, 31, > - 8224, 33, 31, 33, 31, 8224, 8216, 8224, 33, 8216, > - 8224, 33, 8216, 33, 8216, 8224, 33, 8219, 8224, 33, > - 8219, 8224, 33, 8219, 33, 8219, 8224, 33, 33, 10, > - 33, 33, 28, 8224, 33, 28, 8224, 33, 28, 8224, > - 28, 33, 28, 33, 3, 33, 33, 33, 33, 33, > - 33, 33, 30, 8224, 33, 30, 8224, 33, 30, 33, > - > - 30, 8224, 33, 33, 29, 8224, 33,16416, 8217, 8224, > - 33, 8217, 8224, 33, 8217, 8224, 8217, 33, 8217, 33, > - 33, 31, 8224, 33, 31, 8224, 33, 31, 8224, 31, > - 33, 31, 8216, 8224, 33, 8216, 8224, 33, 8216, 8224, > - 8216, 33, 8216, 33, 8219, 8224, 33, 8219, 8224, 33, > - 8219, 8224, 8219, 33, 8219, 33, 33, 10, 23, 10, > - 7, 33, 33, 33, 33, 33, 33, 33, 13, 33, > - 30, 8224, 33, 30, 8224, 33, 30, 8224, 30, 33, > - 30, 2, 33, 29, 8224, 33, 29, 8224, 33, 29, > - 33, 29, 8224, 16, 33, 33, 11, 33, 22, 10, > - > - 10, 23, 7, 23, 7, 33, 8, 33, 33, 33, > - 33, 6, 33, 13, 33, 2, 23, 2, 33, 29, > - 8224, 33, 29, 8224, 33, 29, 8224, 29, 33, 29, > - 16, 33, 33, 11, 23, 11, 26, 8224, 33,16416, > - 22, 23, 22, 7, 7, 23, 33, 8, 23, 8, > - 33, 33, 33, 33, 6, 23, 6, 6, 23, 6, > - 23, 33, 2, 2, 23, 33, 33, 11, 11, 23, > - 26, 8224, 33, 26, 8224, 33, 26, 33, 26, 8224, > - 22, 23, 33, 8, 8, 23, 33, 33, 17, 18, > - 6, 6, 23, 6, 6, 33, 33, 14, 33, 26, > - > - 8224, 33, 26, 8224, 33, 26, 8224, 26, 33, 26, > - 33, 33, 33, 17, 23, 17, 18, 23, 18, 6, > - 6, 33, 33, 14, 33, 20, 9, 19, 17, 17, > - 23, 18, 18, 23, 6, 5, 6, 33, 21, 20, > - 23, 20, 9, 23, 9, 19, 23, 19, 4, 6, > - 5, 6, 33, 21, 23, 21, 20, 20, 23, 9, > - 9, 23, 19, 19, 23, 4, 6, 12, 33, 21, > - 21, 23, 12, 33 > + 35, 8193, 33, 8193, 33, 8193, 8224, 33, 8224, 33, > + 8224, 23, 33, 33, 33, 33, 33, 33, 33, 33, > + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, > + 33, 33, 33, 33, 33, 33, 8224, 33, 8224, 33, > + 8224, 23, 33, 33, 28, 8224, 33,16416, 33, 33, > + 15, 33, 33, 33, 33, 33, 33, 33, 33, 33, > + 8217, 8224, 33,16409,16416, 33, 33, 31, 8224, 33, > + 16416, 33, 8216, 8224, 33,16408,16416, 33, 33, 8219, > + 8224, 33,16411,16416, 33, 33, 33, 33, 33, 28, > + > + 8224, 33, 28, 8224, 33, 28, 33, 28, 8224, 33, > + 3, 33, 15, 33, 33, 33, 33, 33, 30, 8224, > + 33,16416, 33, 33, 33, 8217, 8224, 33, 8217, 8224, > + 33, 8217, 33, 8217, 8224, 33, 33, 31, 8224, 33, > + 31, 8224, 33, 31, 33, 31, 8224, 8216, 8224, 33, > + 8216, 8224, 33, 8216, 33, 8216, 8224, 33, 8219, 8224, > + 33, 8219, 8224, 33, 8219, 33, 8219, 8224, 33, 33, > + 10, 33, 33, 28, 8224, 33, 28, 8224, 33, 28, > + 8224, 28, 33, 28, 33, 3, 33, 33, 33, 33, > + 33, 33, 33, 30, 8224, 33, 30, 8224, 33, 30, > + > + 33, 30, 8224, 33, 33, 29, 8224, 33,16416, 8217, > + 8224, 33, 8217, 8224, 33, 8217, 8224, 8217, 33, 8217, > + 33, 33, 31, 8224, 33, 31, 8224, 33, 31, 8224, > + 31, 33, 31, 8216, 8224, 33, 8216, 8224, 33, 8216, > + 8224, 8216, 33, 8216, 33, 8219, 8224, 33, 8219, 8224, > + 33, 8219, 8224, 8219, 33, 8219, 33, 33, 10, 23, > + 10, 7, 33, 33, 33, 33, 33, 33, 33, 13, > + 33, 30, 8224, 33, 30, 8224, 33, 30, 8224, 30, > + 33, 30, 2, 33, 29, 8224, 33, 29, 8224, 33, > + 29, 33, 29, 8224, 16, 33, 33, 11, 33, 22, > + > + 10, 10, 23, 7, 23, 7, 33, 8, 33, 33, > + 33, 33, 6, 33, 13, 33, 2, 23, 2, 33, > + 29, 8224, 33, 29, 8224, 33, 29, 8224, 29, 33, > + 29, 16, 33, 33, 11, 23, 11, 26, 8224, 33, > + 16416, 22, 23, 22, 7, 7, 23, 33, 8, 23, > + 8, 33, 33, 33, 33, 6, 23, 6, 6, 23, > + 6, 23, 33, 2, 2, 23, 33, 33, 11, 11, > + 23, 26, 8224, 33, 26, 8224, 33, 26, 33, 26, > + 8224, 22, 23, 33, 8, 8, 23, 33, 33, 17, > + 18, 6, 6, 23, 6, 6, 33, 33, 14, 33, > + > + 26, 8224, 33, 26, 8224, 33, 26, 8224, 26, 33, > + 26, 33, 33, 33, 17, 23, 17, 18, 23, 18, > + 6, 6, 33, 33, 14, 33, 20, 9, 19, 17, > + 17, 23, 18, 18, 23, 6, 5, 6, 33, 21, > + 20, 23, 20, 9, 23, 9, 19, 23, 19, 4, > + 6, 5, 6, 33, 21, 23, 21, 20, 20, 23, > + 9, 9, 23, 19, 19, 23, 4, 6, 12, 33, > + 21, 21, 23, 12, 33 > } ; > > -static yyconst flex_int16_t yy_accept[356] = > +static yyconst flex_int16_t yy_accept[357] = > { 0, > 1, 1, 1, 2, 3, 4, 7, 12, 16, 19, > 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, > @@ -446,42 +431,42 @@ static yyconst flex_int16_t yy_accept[356] = > 74, 76, 79, 81, 82, 83, 84, 87, 87, 88, > 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, > 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, > - 109, 110, 111, 113, 115, 116, 118, 120, 121, 122, > + 109, 110, 111, 112, 114, 116, 117, 119, 121, 122, > 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, > 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, > - 143, 144, 145, 146, 148, 150, 151, 152, 153, 154, > - > - 158, 159, 160, 162, 163, 164, 165, 166, 167, 168, > - 169, 170, 175, 176, 177, 181, 182, 187, 188, 189, > - 194, 195, 196, 197, 198, 199, 202, 205, 207, 209, > - 210, 212, 214, 215, 216, 217, 218, 222, 223, 224, > - 225, 228, 231, 233, 235, 236, 237, 240, 243, 245, > - 247, 250, 253, 255, 257, 258, 261, 264, 266, 268, > - 269, 270, 271, 272, 273, 276, 279, 281, 283, 284, > - 285, 287, 288, 289, 290, 291, 292, 293, 296, 299, > - 301, 303, 304, 305, 309, 312, 315, 317, 319, 320, > - 321, 322, 325, 328, 330, 332, 333, 336, 339, 341, > - > - 343, 344, 345, 348, 351, 353, 355, 356, 357, 358, > - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, > - 371, 374, 377, 379, 381, 382, 383, 384, 387, 390, > - 392, 394, 396, 397, 398, 399, 400, 401, 403, 405, > - 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, > - 418, 419, 420, 423, 426, 428, 430, 431, 433, 434, > - 436, 437, 441, 443, 444, 445, 447, 448, 450, 451, > - 452, 453, 454, 455, 457, 458, 460, 462, 463, 464, > - 466, 467, 468, 469, 471, 474, 477, 479, 481, 483, > - 484, 485, 487, 488, 489, 490, 491, 492, 494, 495, > - > - 496, 497, 498, 500, 503, 506, 508, 510, 511, 512, > - 513, 514, 516, 517, 519, 520, 521, 522, 523, 524, > - 526, 527, 528, 529, 530, 532, 533, 535, 536, 538, > - 539, 540, 542, 543, 545, 546, 548, 549, 551, 553, > - 554, 556, 557, 558, 560, 561, 563, 564, 566, 568, > - 570, 571, 573, 575, 575 > + 143, 144, 145, 146, 147, 149, 151, 152, 153, 154, > + > + 155, 159, 160, 161, 163, 164, 165, 166, 167, 168, > + 169, 170, 171, 176, 177, 178, 182, 183, 188, 189, > + 190, 195, 196, 197, 198, 199, 200, 203, 206, 208, > + 210, 211, 213, 215, 216, 217, 218, 219, 223, 224, > + 225, 226, 229, 232, 234, 236, 237, 238, 241, 244, > + 246, 248, 251, 254, 256, 258, 259, 262, 265, 267, > + 269, 270, 271, 272, 273, 274, 277, 280, 282, 284, > + 285, 286, 288, 289, 290, 291, 292, 293, 294, 297, > + 300, 302, 304, 305, 306, 310, 313, 316, 318, 320, > + 321, 322, 323, 326, 329, 331, 333, 334, 337, 340, > + > + 342, 344, 345, 346, 349, 352, 354, 356, 357, 358, > + 359, 361, 362, 363, 364, 365, 366, 367, 368, 369, > + 370, 372, 375, 378, 380, 382, 383, 384, 385, 388, > + 391, 393, 395, 397, 398, 399, 400, 401, 402, 404, > + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, > + 417, 419, 420, 421, 424, 427, 429, 431, 432, 434, > + 435, 437, 438, 442, 444, 445, 446, 448, 449, 451, > + 452, 453, 454, 455, 456, 458, 459, 461, 463, 464, > + 465, 467, 468, 469, 470, 472, 475, 478, 480, 482, > + 484, 485, 486, 488, 489, 490, 491, 492, 493, 495, > + > + 496, 497, 498, 499, 501, 504, 507, 509, 511, 512, > + 513, 514, 515, 517, 518, 520, 521, 522, 523, 524, > + 525, 527, 528, 529, 530, 531, 533, 534, 536, 537, > + 539, 540, 541, 543, 544, 546, 547, 549, 550, 552, > + 554, 555, 557, 558, 559, 561, 562, 564, 565, 567, > + 569, 571, 572, 574, 576, 576 > } ; > > -static yyconst flex_int32_t yy_ec[256] = > +static yyconst 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, > @@ -513,7 +498,7 @@ static yyconst flex_int32_t yy_ec[256] = > 1, 1, 1, 1, 1 > } ; > > -static yyconst flex_int32_t yy_meta[35] = > +static yyconst YY_CHAR yy_meta[35] = > { 0, > 1, 1, 2, 3, 1, 1, 1, 1, 4, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > @@ -521,216 +506,217 @@ static yyconst flex_int32_t yy_meta[35] = > 1, 1, 1, 1 > } ; > > -static yyconst flex_int16_t yy_base[424] = > +static yyconst flex_uint16_t yy_base[425] = > { 0, > - 0, 0, 901, 900, 902, 897, 33, 36, 905, 905, > - 45, 63, 31, 42, 51, 52, 890, 33, 65, 67, > - 69, 70, 889, 71, 888, 75, 0, 905, 893, 905, > - 91, 94, 0, 0, 103, 886, 112, 0, 89, 98, > - 113, 92, 114, 99, 100, 48, 121, 116, 119, 74, > - 124, 129, 123, 135, 132, 133, 137, 134, 138, 139, > - 141, 0, 155, 0, 0, 164, 0, 0, 849, 142, > - 152, 164, 140, 161, 165, 166, 167, 168, 169, 173, > - 174, 178, 176, 180, 184, 208, 189, 183, 192, 195, > - 215, 191, 193, 223, 0, 0, 905, 208, 204, 236, > - > - 219, 209, 238, 196, 237, 831, 242, 815, 241, 224, > - 243, 261, 244, 259, 277, 266, 286, 250, 288, 298, > - 249, 283, 274, 282, 294, 308, 0, 310, 0, 295, > - 305, 905, 308, 306, 313, 314, 342, 319, 316, 320, > - 331, 0, 349, 0, 342, 344, 356, 0, 358, 0, > - 365, 0, 367, 0, 354, 375, 0, 377, 0, 363, > - 356, 809, 327, 322, 384, 0, 0, 0, 0, 379, > - 905, 382, 384, 386, 390, 372, 392, 403, 0, 410, > - 0, 407, 413, 423, 426, 0, 0, 0, 0, 409, > - 424, 435, 0, 0, 0, 0, 437, 0, 0, 0, > - > - 0, 433, 444, 0, 0, 0, 0, 391, 440, 781, > - 905, 769, 439, 445, 444, 447, 449, 454, 453, 399, > - 464, 0, 0, 0, 0, 757, 465, 476, 0, 478, > - 0, 479, 476, 753, 462, 490, 749, 905, 745, 905, > - 483, 737, 424, 485, 487, 490, 500, 493, 905, 729, > - 905, 502, 518, 0, 0, 0, 0, 905, 498, 721, > - 905, 527, 713, 0, 705, 905, 495, 697, 905, 365, > - 521, 528, 530, 685, 905, 534, 540, 540, 657, 905, > - 537, 542, 650, 905, 553, 0, 557, 0, 0, 551, > - 641, 905, 558, 557, 633, 614, 613, 905, 547, 555, > - > - 563, 565, 569, 584, 0, 0, 0, 0, 583, 570, > - 585, 612, 905, 601, 905, 522, 580, 589, 594, 905, > - 600, 585, 563, 520, 905, 514, 905, 586, 486, 597, > - 480, 441, 905, 416, 905, 345, 905, 334, 905, 601, > - 254, 905, 242, 905, 200, 905, 151, 905, 905, 607, > - 86, 905, 905, 905, 620, 624, 627, 631, 635, 639, > - 643, 647, 651, 655, 659, 663, 667, 671, 675, 679, > - 683, 687, 691, 695, 699, 703, 707, 711, 715, 719, > - 723, 727, 731, 735, 739, 743, 747, 751, 755, 759, > - 763, 767, 771, 775, 779, 783, 787, 791, 795, 799, > - > - 803, 807, 811, 815, 819, 823, 827, 831, 835, 839, > - 843, 847, 851, 855, 859, 863, 867, 871, 875, 879, > - 883, 887, 891 > + 0, 0, 904, 903, 905, 900, 33, 36, 908, 908, > + 45, 63, 31, 42, 51, 52, 893, 33, 65, 67, > + 69, 70, 892, 71, 891, 75, 0, 908, 896, 908, > + 91, 94, 0, 0, 103, 889, 112, 0, 89, 98, > + 113, 92, 114, 99, 100, 48, 121, 116, 119, 77, > + 124, 129, 123, 135, 132, 133, 134, 138, 140, 144, > + 139, 142, 0, 155, 0, 0, 159, 0, 0, 894, > + 146, 155, 164, 141, 165, 166, 167, 168, 169, 170, > + 174, 175, 181, 176, 177, 185, 205, 191, 190, 194, > + 193, 213, 200, 202, 221, 0, 0, 908, 209, 205, > + > + 237, 217, 222, 224, 225, 237, 887, 240, 886, 241, > + 233, 242, 263, 245, 261, 279, 246, 288, 251, 267, > + 297, 252, 293, 276, 284, 294, 306, 0, 310, 0, > + 301, 312, 908, 313, 307, 308, 268, 338, 319, 310, > + 313, 341, 0, 348, 0, 341, 343, 355, 0, 357, > + 0, 364, 0, 366, 0, 353, 374, 0, 376, 0, > + 321, 355, 849, 325, 371, 383, 0, 0, 0, 0, > + 378, 908, 377, 381, 383, 387, 393, 389, 405, 0, > + 408, 0, 406, 408, 418, 421, 0, 0, 0, 0, > + 416, 419, 430, 0, 0, 0, 0, 432, 0, 0, > + > + 0, 0, 428, 439, 0, 0, 0, 0, 434, 436, > + 837, 908, 821, 437, 442, 443, 445, 447, 452, 451, > + 396, 463, 0, 0, 0, 0, 809, 463, 474, 0, > + 476, 0, 477, 474, 781, 364, 488, 769, 908, 757, > + 908, 481, 753, 472, 483, 485, 488, 498, 491, 908, > + 749, 908, 500, 516, 0, 0, 0, 0, 908, 496, > + 745, 908, 525, 737, 0, 729, 908, 509, 721, 908, > + 506, 523, 529, 531, 713, 908, 535, 528, 540, 705, > + 908, 542, 544, 697, 908, 555, 0, 557, 0, 0, > + 555, 685, 908, 537, 550, 657, 650, 641, 908, 443, > + > + 545, 559, 564, 570, 577, 0, 0, 0, 0, 576, > + 581, 583, 633, 908, 614, 908, 574, 589, 587, 592, > + 908, 613, 612, 602, 599, 908, 598, 908, 590, 565, > + 595, 561, 520, 908, 501, 908, 484, 908, 461, 908, > + 601, 449, 908, 400, 908, 332, 908, 324, 908, 908, > + 607, 188, 908, 908, 908, 620, 624, 627, 631, 635, > + 639, 643, 647, 651, 655, 659, 663, 667, 671, 675, > + 679, 683, 687, 691, 695, 699, 703, 707, 711, 715, > + 719, 723, 727, 731, 735, 739, 743, 747, 751, 755, > + 759, 763, 767, 771, 775, 779, 783, 787, 791, 795, > + > + 799, 803, 807, 811, 815, 819, 823, 827, 831, 835, > + 839, 843, 847, 851, 855, 859, 863, 867, 871, 875, > + 879, 883, 887, 891 > } ; > > -static yyconst flex_int16_t yy_def[424] = > +static yyconst flex_int16_t yy_def[425] = > { 0, > - 354, 1, 355, 355, 354, 356, 357, 357, 354, 354, > - 358, 358, 12, 12, 12, 12, 12, 12, 12, 12, > - 12, 12, 12, 12, 12, 12, 359, 354, 356, 354, > - 360, 357, 361, 361, 362, 12, 356, 363, 12, 12, > + 355, 1, 356, 356, 355, 357, 358, 358, 355, 355, > + 359, 359, 12, 12, 12, 12, 12, 12, 12, 12, > + 12, 12, 12, 12, 12, 12, 360, 355, 357, 355, > + 361, 358, 362, 362, 363, 12, 357, 364, 12, 12, > 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, > 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, > - 12, 359, 360, 361, 361, 364, 365, 365, 354, 12, > - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, > - 12, 12, 12, 12, 12, 362, 12, 12, 12, 12, > - 12, 12, 12, 364, 365, 365, 354, 12, 12, 366, > - > + 12, 12, 360, 361, 362, 362, 365, 366, 366, 355, > 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, > - 12, 367, 86, 86, 368, 12, 369, 12, 12, 370, > - 12, 12, 12, 12, 12, 371, 372, 366, 372, 12, > - 12, 354, 86, 12, 12, 12, 373, 12, 12, 12, > - 374, 375, 367, 375, 86, 86, 376, 377, 368, 377, > - 378, 379, 369, 379, 12, 380, 381, 370, 381, 12, > - 12, 382, 12, 12, 371, 372, 372, 383, 383, 12, > - 354, 86, 86, 86, 12, 12, 12, 384, 385, 373, > - 385, 12, 12, 386, 374, 375, 375, 387, 387, 86, > - 86, 376, 377, 377, 388, 388, 378, 379, 379, 389, > - > - 389, 12, 380, 381, 381, 390, 390, 12, 12, 391, > - 354, 392, 86, 12, 86, 86, 86, 12, 86, 12, > - 384, 385, 385, 393, 393, 394, 86, 395, 396, 386, > - 396, 86, 86, 397, 12, 398, 391, 354, 399, 354, > - 86, 400, 12, 86, 86, 86, 401, 86, 354, 402, > - 354, 86, 395, 396, 396, 403, 403, 354, 86, 404, > - 354, 405, 406, 406, 399, 354, 86, 407, 354, 12, > - 86, 86, 86, 408, 354, 408, 408, 86, 402, 354, > - 86, 86, 404, 354, 409, 410, 405, 410, 406, 86, > - 407, 354, 12, 86, 411, 412, 408, 354, 408, 408, > - > - 86, 86, 86, 409, 410, 410, 413, 413, 86, 12, > - 86, 414, 354, 415, 354, 408, 408, 86, 86, 354, > - 416, 417, 418, 414, 354, 415, 354, 408, 408, 86, > - 419, 420, 354, 421, 354, 422, 354, 408, 354, 86, > - 423, 354, 420, 354, 421, 354, 422, 354, 354, 86, > - 423, 354, 354, 0, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - 354, 354, 354 > + 12, 12, 12, 12, 12, 12, 363, 12, 12, 12, > + 12, 12, 12, 12, 365, 366, 366, 355, 12, 12, > + > + 367, 12, 12, 12, 12, 12, 12, 12, 12, 12, > + 12, 12, 368, 87, 87, 369, 12, 370, 12, 12, > + 371, 12, 12, 12, 12, 12, 372, 373, 367, 373, > + 12, 12, 355, 87, 12, 12, 12, 374, 12, 12, > + 12, 375, 376, 368, 376, 87, 87, 377, 378, 369, > + 378, 379, 380, 370, 380, 12, 381, 382, 371, 382, > + 12, 12, 383, 12, 12, 372, 373, 373, 384, 384, > + 12, 355, 87, 87, 87, 12, 12, 12, 385, 386, > + 374, 386, 12, 12, 387, 375, 376, 376, 388, 388, > + 87, 87, 377, 378, 378, 389, 389, 379, 380, 380, > + > + 390, 390, 12, 381, 382, 382, 391, 391, 12, 12, > + 392, 355, 393, 87, 12, 87, 87, 87, 12, 87, > + 12, 385, 386, 386, 394, 394, 395, 87, 396, 397, > + 387, 397, 87, 87, 398, 12, 399, 392, 355, 400, > + 355, 87, 401, 12, 87, 87, 87, 402, 87, 355, > + 403, 355, 87, 396, 397, 397, 404, 404, 355, 87, > + 405, 355, 406, 407, 407, 400, 355, 87, 408, 355, > + 12, 87, 87, 87, 409, 355, 409, 409, 87, 403, > + 355, 87, 87, 405, 355, 410, 411, 406, 411, 407, > + 87, 408, 355, 12, 87, 412, 413, 409, 355, 409, > + > + 409, 87, 87, 87, 410, 411, 411, 414, 414, 87, > + 12, 87, 415, 355, 416, 355, 409, 409, 87, 87, > + 355, 417, 418, 419, 415, 355, 416, 355, 409, 409, > + 87, 420, 421, 355, 422, 355, 423, 355, 409, 355, > + 87, 424, 355, 421, 355, 422, 355, 423, 355, 355, > + 87, 424, 355, 355, 0, 355, 355, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355, 355, 355 > } ; > > -static yyconst flex_int16_t yy_nxt[940] = > +static yyconst flex_uint16_t yy_nxt[943] = > { 0, > 6, 7, 8, 9, 6, 6, 6, 6, 10, 11, > 12, 13, 14, 15, 16, 17, 18, 19, 17, 17, > 17, 17, 20, 17, 21, 22, 23, 24, 25, 17, > 26, 17, 17, 17, 32, 32, 33, 32, 32, 33, > 36, 34, 36, 42, 34, 29, 29, 29, 30, 35, > - 50, 36, 37, 38, 43, 44, 39, 36, 79, 45, > + 50, 36, 37, 38, 43, 44, 39, 36, 80, 45, > 36, 36, 40, 29, 29, 29, 30, 35, 46, 48, > 37, 38, 41, 47, 36, 49, 36, 53, 36, 36, > - 36, 56, 58, 36, 36, 55, 82, 60, 51, 342, > - 54, 61, 52, 29, 64, 32, 32, 33, 36, 65, > - > - 70, 36, 34, 29, 29, 29, 30, 36, 36, 36, > - 29, 38, 66, 66, 66, 67, 66, 71, 74, 66, > - 68, 72, 36, 36, 73, 36, 77, 78, 36, 76, > - 36, 53, 36, 36, 75, 85, 80, 83, 36, 86, > - 84, 36, 36, 36, 36, 81, 36, 36, 36, 36, > - 36, 36, 93, 89, 337, 98, 88, 29, 64, 101, > - 90, 36, 91, 65, 92, 87, 29, 95, 89, 99, > - 36, 100, 96, 36, 36, 36, 36, 36, 36, 106, > - 105, 85, 36, 36, 102, 36, 107, 36, 103, 36, > - 109, 112, 36, 36, 104, 108, 115, 110, 36, 117, > - > - 36, 36, 36, 335, 36, 36, 122, 111, 29, 29, > - 29, 30, 118, 36, 116, 29, 38, 36, 36, 113, > - 114, 119, 120, 123, 36, 29, 95, 121, 36, 134, > - 131, 96, 130, 36, 125, 124, 126, 126, 66, 127, > - 126, 132, 133, 126, 129, 333, 36, 36, 135, 137, > - 36, 36, 36, 140, 139, 35, 35, 352, 36, 36, > - 85, 141, 141, 66, 142, 141, 160, 145, 141, 144, > - 35, 35, 89, 117, 155, 36, 146, 147, 147, 66, > - 148, 147, 162, 36, 147, 150, 151, 151, 66, 152, > - 151, 36, 36, 151, 154, 120, 161, 36, 156, 156, > - > - 66, 157, 156, 36, 36, 156, 159, 164, 171, 163, > - 29, 166, 29, 168, 36, 36, 167, 170, 169, 35, > - 35, 172, 36, 36, 173, 36, 213, 184, 36, 36, > - 175, 36, 174, 29, 186, 212, 36, 349, 183, 187, > - 177, 176, 178, 178, 66, 179, 178, 182, 348, 178, > - 181, 29, 188, 35, 35, 35, 35, 189, 29, 193, > - 29, 195, 190, 36, 194, 36, 196, 29, 198, 29, > - 200, 191, 36, 199, 36, 201, 219, 29, 204, 29, > - 206, 36, 202, 205, 209, 207, 29, 166, 36, 293, > - 208, 214, 167, 35, 35, 35, 35, 35, 35, 36, > - > - 36, 36, 249, 218, 220, 29, 222, 216, 36, 217, > - 235, 223, 29, 224, 215, 226, 36, 227, 225, 346, > - 35, 35, 36, 228, 228, 66, 229, 228, 29, 186, > - 228, 231, 232, 36, 187, 233, 35, 29, 193, 29, > - 198, 234, 36, 194, 344, 199, 29, 204, 236, 36, > - 35, 241, 205, 242, 36, 35, 35, 270, 35, 35, > - 35, 35, 247, 36, 35, 35, 29, 222, 244, 262, > - 248, 36, 223, 243, 245, 246, 35, 252, 29, 254, > - 29, 256, 258, 342, 255, 259, 257, 35, 35, 339, > - 35, 35, 69, 264, 35, 35, 35, 35, 35, 35, > - > - 267, 35, 35, 275, 35, 35, 35, 35, 271, 35, > - 35, 276, 277, 35, 35, 272, 278, 315, 273, 281, > - 29, 254, 290, 313, 282, 275, 255, 285, 285, 66, > - 286, 285, 35, 35, 285, 288, 295, 298, 296, 35, > - 35, 35, 35, 298, 301, 328, 299, 294, 35, 35, > - 275, 35, 35, 35, 303, 29, 305, 300, 275, 29, > - 307, 306, 35, 35, 302, 308, 337, 36, 35, 35, > - 309, 310, 320, 316, 35, 35, 35, 35, 322, 36, > - 35, 35, 317, 275, 319, 311, 29, 305, 335, 275, > - 318, 321, 306, 323, 35, 35, 35, 35, 330, 329, > - > - 35, 35, 331, 333, 327, 35, 35, 338, 35, 35, > - 353, 340, 35, 35, 350, 325, 275, 315, 35, 35, > + 36, 56, 59, 57, 36, 55, 36, 61, 51, 83, > + 54, 62, 52, 29, 65, 32, 32, 33, 36, 66, > + > + 71, 36, 34, 29, 29, 29, 30, 36, 36, 36, > + 29, 38, 67, 67, 67, 68, 67, 72, 75, 67, > + 69, 73, 36, 36, 74, 36, 78, 79, 36, 77, > + 36, 53, 36, 36, 76, 86, 81, 84, 36, 87, > + 85, 36, 36, 36, 36, 82, 90, 36, 36, 36, > + 36, 36, 94, 36, 90, 36, 89, 29, 65, 99, > + 102, 29, 96, 66, 36, 88, 91, 97, 92, 90, > + 93, 101, 100, 36, 36, 36, 36, 36, 36, 36, > + 107, 106, 86, 36, 36, 36, 36, 108, 103, 104, > + 36, 343, 113, 110, 36, 105, 109, 111, 116, 36, > + > + 36, 118, 36, 36, 112, 29, 29, 29, 30, 36, > + 119, 36, 29, 38, 36, 123, 114, 115, 36, 120, > + 121, 117, 36, 29, 96, 122, 36, 133, 134, 97, > + 131, 36, 124, 36, 36, 126, 125, 127, 127, 67, > + 128, 127, 36, 132, 127, 130, 36, 138, 136, 36, > + 36, 36, 90, 118, 140, 36, 35, 35, 135, 86, > + 36, 36, 141, 142, 142, 67, 143, 142, 146, 161, > + 142, 145, 35, 35, 121, 156, 36, 36, 147, 148, > + 148, 67, 149, 148, 163, 36, 148, 151, 152, 152, > + 67, 153, 152, 36, 178, 152, 155, 157, 157, 67, > + > + 158, 157, 36, 36, 157, 160, 162, 165, 29, 167, > + 36, 164, 29, 169, 168, 172, 36, 36, 170, 36, > + 185, 36, 36, 171, 35, 35, 173, 338, 36, 174, > + 36, 176, 184, 213, 36, 336, 177, 175, 179, 179, > + 67, 180, 179, 29, 187, 179, 182, 183, 209, 188, > + 29, 189, 35, 35, 35, 35, 190, 29, 194, 29, > + 196, 191, 36, 195, 36, 197, 29, 199, 29, 201, > + 192, 263, 200, 36, 202, 214, 29, 205, 29, 207, > + 36, 203, 206, 210, 208, 29, 167, 36, 35, 35, > + 215, 168, 35, 35, 35, 35, 36, 220, 36, 250, > + > + 219, 221, 36, 334, 217, 36, 218, 29, 223, 216, > + 29, 225, 228, 224, 227, 36, 226, 36, 229, 229, > + 67, 230, 229, 29, 187, 229, 232, 35, 35, 188, > + 234, 35, 29, 194, 29, 199, 235, 36, 195, 233, > + 200, 29, 205, 36, 237, 36, 276, 206, 35, 242, > + 243, 36, 353, 236, 35, 35, 35, 35, 35, 35, > + 248, 36, 35, 35, 350, 29, 223, 245, 249, 317, > + 244, 224, 246, 247, 35, 253, 29, 255, 29, 257, > + 259, 36, 256, 260, 258, 35, 35, 349, 35, 35, > + 70, 265, 35, 35, 35, 35, 35, 35, 268, 35, > + > + 35, 276, 35, 35, 347, 271, 272, 35, 35, 277, > + 278, 35, 35, 273, 279, 36, 274, 282, 29, 255, > + 35, 35, 283, 345, 256, 286, 286, 67, 287, 286, > + 294, 299, 286, 289, 35, 35, 291, 296, 299, 297, > + 35, 35, 35, 35, 302, 301, 36, 300, 276, 295, > + 311, 35, 35, 35, 35, 35, 304, 29, 306, 29, > + 308, 35, 35, 307, 343, 309, 35, 35, 340, 303, > + 35, 35, 318, 321, 310, 35, 35, 276, 312, 29, > + 306, 35, 35, 320, 322, 307, 319, 35, 35, 323, > + 36, 324, 276, 276, 35, 35, 331, 329, 35, 35, > + > + 332, 316, 314, 35, 35, 338, 35, 35, 330, 341, > + 354, 339, 35, 35, 351, 336, 334, 328, 35, 35, > 27, 27, 27, 27, 29, 29, 29, 31, 31, 31, > - 31, 36, 36, 36, 36, 62, 313, 62, 62, 63, > - 63, 63, 63, 65, 269, 65, 65, 35, 35, 35, > - 35, 69, 69, 261, 69, 94, 94, 94, 94, 96, > - 251, 96, 96, 128, 128, 128, 128, 143, 143, 143, > - 143, 149, 149, 149, 149, 153, 153, 153, 153, 158, > - 158, 158, 158, 165, 165, 165, 165, 167, 298, 167, > - 167, 180, 180, 180, 180, 185, 185, 185, 185, 187, > - > - 292, 187, 187, 192, 192, 192, 192, 194, 240, 194, > - 194, 197, 197, 197, 197, 199, 289, 199, 199, 203, > - 203, 203, 203, 205, 284, 205, 205, 210, 210, 210, > - 210, 169, 280, 169, 169, 221, 221, 221, 221, 223, > - 269, 223, 223, 230, 230, 230, 230, 189, 266, 189, > - 189, 196, 211, 196, 196, 201, 261, 201, 201, 207, > - 251, 207, 207, 237, 237, 237, 237, 239, 239, 239, > - 239, 225, 240, 225, 225, 250, 250, 250, 250, 253, > - 253, 253, 253, 255, 238, 255, 255, 260, 260, 260, > - 260, 263, 263, 263, 263, 265, 265, 265, 265, 268, > - > - 268, 268, 268, 274, 274, 274, 274, 279, 279, 279, > - 279, 257, 211, 257, 257, 283, 283, 283, 283, 287, > - 287, 287, 287, 264, 138, 264, 264, 291, 291, 291, > - 291, 297, 297, 297, 297, 304, 304, 304, 304, 306, > - 136, 306, 306, 312, 312, 312, 312, 314, 314, 314, > - 314, 308, 97, 308, 308, 324, 324, 324, 324, 326, > - 326, 326, 326, 332, 332, 332, 332, 334, 334, 334, > - 334, 336, 336, 336, 336, 341, 341, 341, 341, 343, > - 343, 343, 343, 345, 345, 345, 345, 347, 347, 347, > - 347, 351, 351, 351, 351, 36, 30, 59, 57, 36, > - > - 30, 354, 28, 28, 5, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354 > + 31, 36, 36, 36, 36, 63, 326, 63, 63, 64, > + 64, 64, 64, 66, 276, 66, 66, 35, 35, 35, > + 35, 70, 70, 316, 70, 95, 95, 95, 95, 97, > + 314, 97, 97, 129, 129, 129, 129, 144, 144, 144, > + 144, 150, 150, 150, 150, 154, 154, 154, 154, 159, > + 159, 159, 159, 166, 166, 166, 166, 168, 270, 168, > + 168, 181, 181, 181, 181, 186, 186, 186, 186, 188, > + > + 262, 188, 188, 193, 193, 193, 193, 195, 252, 195, > + 195, 198, 198, 198, 198, 200, 299, 200, 200, 204, > + 204, 204, 204, 206, 293, 206, 206, 211, 211, 211, > + 211, 170, 241, 170, 170, 222, 222, 222, 222, 224, > + 290, 224, 224, 231, 231, 231, 231, 190, 285, 190, > + 190, 197, 281, 197, 197, 202, 270, 202, 202, 208, > + 267, 208, 208, 238, 238, 238, 238, 240, 240, 240, > + 240, 226, 212, 226, 226, 251, 251, 251, 251, 254, > + 254, 254, 254, 256, 262, 256, 256, 261, 261, 261, > + 261, 264, 264, 264, 264, 266, 266, 266, 266, 269, > + > + 269, 269, 269, 275, 275, 275, 275, 280, 280, 280, > + 280, 258, 252, 258, 258, 284, 284, 284, 284, 288, > + 288, 288, 288, 265, 241, 265, 265, 292, 292, 292, > + 292, 298, 298, 298, 298, 305, 305, 305, 305, 307, > + 239, 307, 307, 313, 313, 313, 313, 315, 315, 315, > + 315, 309, 212, 309, 309, 325, 325, 325, 325, 327, > + 327, 327, 327, 333, 333, 333, 333, 335, 335, 335, > + 335, 337, 337, 337, 337, 342, 342, 342, 342, 344, > + 344, 344, 344, 346, 346, 346, 346, 348, 348, 348, > + 348, 352, 352, 352, 352, 139, 137, 98, 36, 30, > + > + 60, 58, 36, 30, 355, 28, 28, 5, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355 > } ; > > -static yyconst flex_int16_t yy_chk[940] = > +static yyconst flex_int16_t yy_chk[943] = > { 0, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > @@ -740,101 +726,102 @@ static yyconst flex_int16_t yy_chk[940] = > 18, 14, 11, 11, 13, 14, 11, 46, 46, 14, > 15, 16, 11, 12, 12, 12, 12, 12, 14, 16, > 12, 12, 12, 15, 19, 16, 20, 20, 21, 22, > - 24, 22, 24, 50, 26, 21, 50, 26, 19, 351, > + 24, 22, 24, 22, 26, 21, 50, 26, 19, 50, > 20, 26, 19, 31, 31, 32, 32, 32, 39, 31, > > 39, 42, 32, 35, 35, 35, 35, 40, 44, 45, > 35, 35, 37, 37, 37, 37, 37, 39, 42, 37, > 37, 40, 41, 43, 41, 48, 45, 45, 49, 44, > 47, 47, 53, 51, 43, 53, 48, 51, 52, 54, > - 52, 55, 56, 58, 54, 49, 57, 59, 60, 73, > - 61, 70, 60, 61, 347, 70, 56, 63, 63, 73, > - 58, 71, 59, 63, 59, 55, 66, 66, 57, 71, > - 74, 72, 66, 72, 75, 76, 77, 78, 79, 78, > - 77, 79, 80, 81, 74, 83, 80, 82, 75, 84, > - 82, 85, 88, 85, 76, 81, 87, 83, 87, 89, > - > - 92, 89, 93, 345, 90, 104, 92, 84, 86, 86, > - 86, 86, 90, 99, 88, 86, 86, 98, 102, 86, > - 86, 91, 91, 93, 91, 94, 94, 91, 101, 104, > - 102, 94, 101, 110, 99, 98, 100, 100, 100, 100, > - 100, 103, 103, 100, 100, 343, 105, 103, 105, 107, > - 109, 107, 111, 110, 109, 113, 113, 341, 121, 118, > - 111, 112, 112, 112, 112, 112, 121, 113, 112, 112, > - 114, 114, 116, 116, 118, 116, 114, 115, 115, 115, > - 115, 115, 123, 123, 115, 115, 117, 117, 117, 117, > - 117, 124, 122, 117, 117, 119, 122, 119, 120, 120, > - > - 120, 120, 120, 125, 130, 120, 120, 125, 131, 124, > - 126, 126, 128, 128, 131, 134, 126, 130, 128, 133, > - 133, 133, 135, 136, 133, 139, 164, 140, 138, 140, > - 134, 164, 133, 141, 141, 163, 163, 338, 139, 141, > - 136, 135, 137, 137, 137, 137, 137, 138, 336, 137, > - 137, 143, 143, 145, 145, 146, 146, 143, 147, 147, > - 149, 149, 145, 155, 147, 161, 149, 151, 151, 153, > - 153, 146, 160, 151, 270, 153, 176, 156, 156, 158, > - 158, 176, 155, 156, 161, 158, 165, 165, 170, 270, > - 160, 170, 165, 172, 172, 173, 173, 174, 174, 175, > - > - 208, 177, 220, 175, 177, 178, 178, 173, 220, 174, > - 208, 178, 180, 180, 172, 182, 182, 183, 180, 334, > - 190, 190, 183, 184, 184, 184, 184, 184, 185, 185, > - 184, 184, 190, 243, 185, 191, 191, 192, 192, 197, > - 197, 202, 202, 192, 332, 197, 203, 203, 209, 209, > - 213, 213, 203, 214, 214, 215, 215, 243, 216, 216, > - 217, 217, 218, 218, 219, 219, 221, 221, 215, 235, > - 219, 235, 221, 214, 216, 217, 227, 227, 228, 228, > - 230, 230, 232, 331, 228, 233, 230, 233, 233, 329, > - 232, 232, 236, 236, 241, 241, 244, 244, 245, 245, > - > - 241, 246, 246, 247, 248, 248, 267, 267, 244, 259, > - 259, 247, 247, 252, 252, 245, 248, 326, 246, 252, > - 253, 253, 267, 324, 259, 316, 253, 262, 262, 262, > - 262, 262, 271, 271, 262, 262, 272, 276, 273, 272, > - 272, 273, 273, 277, 278, 316, 276, 271, 281, 281, > - 299, 278, 278, 282, 282, 285, 285, 277, 300, 287, > - 287, 285, 290, 290, 281, 287, 323, 293, 294, 294, > - 290, 293, 303, 299, 301, 301, 302, 302, 310, 310, > - 303, 303, 300, 317, 302, 294, 304, 304, 322, 328, > - 301, 309, 304, 311, 309, 309, 311, 311, 318, 317, > - > - 318, 318, 319, 321, 314, 319, 319, 328, 330, 330, > - 350, 330, 340, 340, 340, 312, 297, 296, 350, 350, > - 355, 355, 355, 355, 356, 356, 356, 357, 357, 357, > - 357, 358, 358, 358, 358, 359, 295, 359, 359, 360, > - 360, 360, 360, 361, 291, 361, 361, 362, 362, 362, > - 362, 363, 363, 283, 363, 364, 364, 364, 364, 365, > - 279, 365, 365, 366, 366, 366, 366, 367, 367, 367, > - 367, 368, 368, 368, 368, 369, 369, 369, 369, 370, > - 370, 370, 370, 371, 371, 371, 371, 372, 274, 372, > - 372, 373, 373, 373, 373, 374, 374, 374, 374, 375, > - > - 268, 375, 375, 376, 376, 376, 376, 377, 265, 377, > - 377, 378, 378, 378, 378, 379, 263, 379, 379, 380, > - 380, 380, 380, 381, 260, 381, 381, 382, 382, 382, > - 382, 383, 250, 383, 383, 384, 384, 384, 384, 385, > - 242, 385, 385, 386, 386, 386, 386, 387, 239, 387, > - 387, 388, 237, 388, 388, 389, 234, 389, 389, 390, > - 226, 390, 390, 391, 391, 391, 391, 392, 392, 392, > - 392, 393, 212, 393, 393, 394, 394, 394, 394, 395, > - 395, 395, 395, 396, 210, 396, 396, 397, 397, 397, > - 397, 398, 398, 398, 398, 399, 399, 399, 399, 400, > - > - 400, 400, 400, 401, 401, 401, 401, 402, 402, 402, > - 402, 403, 162, 403, 403, 404, 404, 404, 404, 405, > - 405, 405, 405, 406, 108, 406, 406, 407, 407, 407, > - 407, 408, 408, 408, 408, 409, 409, 409, 409, 410, > - 106, 410, 410, 411, 411, 411, 411, 412, 412, 412, > - 412, 413, 69, 413, 413, 414, 414, 414, 414, 415, > - 415, 415, 415, 416, 416, 416, 416, 417, 417, 417, > - 417, 418, 418, 418, 418, 419, 419, 419, 419, 420, > - 420, 420, 420, 421, 421, 421, 421, 422, 422, 422, > - 422, 423, 423, 423, 423, 36, 29, 25, 23, 17, > - > - 6, 5, 4, 3, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, > - 354, 354, 354, 354, 354, 354, 354, 354, 354 > + 52, 55, 56, 57, 54, 49, 57, 58, 61, 59, > + 74, 62, 61, 60, 62, 71, 56, 64, 64, 71, > + 74, 67, 67, 64, 72, 55, 59, 67, 60, 58, > + 60, 73, 72, 73, 75, 76, 77, 78, 79, 80, > + 79, 78, 80, 81, 82, 84, 85, 81, 75, 76, > + 83, 352, 86, 83, 86, 77, 82, 84, 88, 89, > + > + 88, 90, 91, 90, 85, 87, 87, 87, 87, 93, > + 91, 94, 87, 87, 100, 93, 87, 87, 99, 92, > + 92, 89, 92, 95, 95, 92, 102, 104, 104, 95, > + 102, 103, 94, 104, 105, 100, 99, 101, 101, 101, > + 101, 101, 111, 103, 101, 101, 106, 108, 106, 108, > + 110, 112, 117, 117, 110, 117, 114, 114, 105, 112, > + 119, 122, 111, 113, 113, 113, 113, 113, 114, 122, > + 113, 113, 115, 115, 120, 119, 120, 137, 115, 116, > + 116, 116, 116, 116, 124, 124, 116, 116, 118, 118, > + 118, 118, 118, 125, 137, 118, 118, 121, 121, 121, > + > + 121, 121, 123, 126, 121, 121, 123, 126, 127, 127, > + 131, 125, 129, 129, 127, 132, 135, 136, 129, 140, > + 141, 132, 141, 131, 134, 134, 134, 348, 139, 134, > + 161, 135, 140, 164, 164, 346, 136, 134, 138, 138, > + 138, 138, 138, 142, 142, 138, 138, 139, 161, 142, > + 144, 144, 146, 146, 147, 147, 144, 148, 148, 150, > + 150, 146, 156, 148, 162, 150, 152, 152, 154, 154, > + 147, 236, 152, 236, 154, 165, 157, 157, 159, 159, > + 165, 156, 157, 162, 159, 166, 166, 171, 173, 173, > + 171, 166, 174, 174, 175, 175, 176, 177, 178, 221, > + > + 176, 178, 177, 344, 174, 221, 175, 179, 179, 173, > + 181, 181, 184, 179, 183, 183, 181, 184, 185, 185, > + 185, 185, 185, 186, 186, 185, 185, 191, 191, 186, > + 192, 192, 193, 193, 198, 198, 203, 203, 193, 191, > + 198, 204, 204, 209, 210, 210, 300, 204, 214, 214, > + 215, 215, 342, 209, 216, 216, 217, 217, 218, 218, > + 219, 219, 220, 220, 339, 222, 222, 216, 220, 300, > + 215, 222, 217, 218, 228, 228, 229, 229, 231, 231, > + 233, 244, 229, 234, 231, 234, 234, 337, 233, 233, > + 237, 237, 242, 242, 245, 245, 246, 246, 242, 247, > + > + 247, 248, 249, 249, 335, 244, 245, 260, 260, 248, > + 248, 253, 253, 246, 249, 271, 247, 253, 254, 254, > + 268, 268, 260, 333, 254, 263, 263, 263, 263, 263, > + 271, 278, 263, 263, 272, 272, 268, 273, 277, 274, > + 273, 273, 274, 274, 279, 278, 294, 277, 301, 272, > + 294, 279, 279, 282, 282, 283, 283, 286, 286, 288, > + 288, 295, 295, 286, 332, 288, 291, 291, 330, 282, > + 302, 302, 301, 304, 291, 303, 303, 317, 295, 305, > + 305, 304, 304, 303, 310, 305, 302, 310, 310, 311, > + 311, 312, 318, 329, 312, 312, 319, 317, 319, 319, > + > + 320, 327, 325, 320, 320, 324, 331, 331, 318, 331, > + 351, 329, 341, 341, 341, 323, 322, 315, 351, 351, > + 356, 356, 356, 356, 357, 357, 357, 358, 358, 358, > + 358, 359, 359, 359, 359, 360, 313, 360, 360, 361, > + 361, 361, 361, 362, 298, 362, 362, 363, 363, 363, > + 363, 364, 364, 297, 364, 365, 365, 365, 365, 366, > + 296, 366, 366, 367, 367, 367, 367, 368, 368, 368, > + 368, 369, 369, 369, 369, 370, 370, 370, 370, 371, > + 371, 371, 371, 372, 372, 372, 372, 373, 292, 373, > + 373, 374, 374, 374, 374, 375, 375, 375, 375, 376, > + > + 284, 376, 376, 377, 377, 377, 377, 378, 280, 378, > + 378, 379, 379, 379, 379, 380, 275, 380, 380, 381, > + 381, 381, 381, 382, 269, 382, 382, 383, 383, 383, > + 383, 384, 266, 384, 384, 385, 385, 385, 385, 386, > + 264, 386, 386, 387, 387, 387, 387, 388, 261, 388, > + 388, 389, 251, 389, 389, 390, 243, 390, 390, 391, > + 240, 391, 391, 392, 392, 392, 392, 393, 393, 393, > + 393, 394, 238, 394, 394, 395, 395, 395, 395, 396, > + 396, 396, 396, 397, 235, 397, 397, 398, 398, 398, > + 398, 399, 399, 399, 399, 400, 400, 400, 400, 401, > + > + 401, 401, 401, 402, 402, 402, 402, 403, 403, 403, > + 403, 404, 227, 404, 404, 405, 405, 405, 405, 406, > + 406, 406, 406, 407, 213, 407, 407, 408, 408, 408, > + 408, 409, 409, 409, 409, 410, 410, 410, 410, 411, > + 211, 411, 411, 412, 412, 412, 412, 413, 413, 413, > + 413, 414, 163, 414, 414, 415, 415, 415, 415, 416, > + 416, 416, 416, 417, 417, 417, 417, 418, 418, 418, > + 418, 419, 419, 419, 419, 420, 420, 420, 420, 421, > + 421, 421, 421, 422, 422, 422, 422, 423, 423, 423, > + 423, 424, 424, 424, 424, 109, 107, 70, 36, 29, > + > + 25, 23, 17, 6, 5, 4, 3, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, > + 355, 355 > } ; > > #define YY_TRAILING_MASK 0x2000 > @@ -953,6 +940,7 @@ static void setformat(DiskParseContext *dpc, const char *str) { > else if (!strcmp(str,"qcow2")) DSET(dpc,format,FORMAT,str,QCOW2); > else if (!strcmp(str,"vhd")) DSET(dpc,format,FORMAT,str,VHD); > else if (!strcmp(str,"empty")) DSET(dpc,format,FORMAT,str,EMPTY); > + else if (!strcmp(str,"qed")) DSET(dpc,format,FORMAT,str,QED); > else xlu__disk_err(dpc,str,"unknown value for format"); > } > > @@ -1001,7 +989,7 @@ static int vdev_and_devtype(DiskParseContext *dpc, char *str) { > #define DPC ((DiskParseContext*)yyextra) > > > -#line 1005 "libxlu_disk_l.c" > +#line 993 "libxlu_disk_l.c" > > #define INITIAL 0 > #define LEXERR 1 > @@ -1031,8 +1019,8 @@ struct yyguts_t > size_t yy_buffer_stack_max; /**< capacity of stack. */ > YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ > char yy_hold_char; > - yy_size_t yy_n_chars; > - yy_size_t yyleng_r; > + int yy_n_chars; > + int yyleng_r; > char *yy_c_buf_p; > int yy_init; > int yy_start; > @@ -1084,23 +1072,23 @@ void xlu__disk_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); > > FILE *xlu__disk_yyget_in (yyscan_t yyscanner ); > > -void xlu__disk_yyset_in (FILE * in_str ,yyscan_t yyscanner ); > +void xlu__disk_yyset_in (FILE * _in_str ,yyscan_t yyscanner ); > > FILE *xlu__disk_yyget_out (yyscan_t yyscanner ); > > -void xlu__disk_yyset_out (FILE * out_str ,yyscan_t yyscanner ); > +void xlu__disk_yyset_out (FILE * _out_str ,yyscan_t yyscanner ); > > -yy_size_t xlu__disk_yyget_leng (yyscan_t yyscanner ); > + int xlu__disk_yyget_leng (yyscan_t yyscanner ); > > char *xlu__disk_yyget_text (yyscan_t yyscanner ); > > int xlu__disk_yyget_lineno (yyscan_t yyscanner ); > > -void xlu__disk_yyset_lineno (int line_number ,yyscan_t yyscanner ); > +void xlu__disk_yyset_lineno (int _line_number ,yyscan_t yyscanner ); > > int xlu__disk_yyget_column (yyscan_t yyscanner ); > > -void xlu__disk_yyset_column (int column_no ,yyscan_t yyscanner ); > +void xlu__disk_yyset_column (int _column_no ,yyscan_t yyscanner ); > > /* Macros after this point can all be overridden by user definitions in > * section 1. > @@ -1114,6 +1102,10 @@ extern int xlu__disk_yywrap (yyscan_t yyscanner ); > #endif > #endif > > +#ifndef YY_NO_UNPUT > + > +#endif > + > #ifndef yytext_ptr > static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); > #endif > @@ -1147,7 +1139,7 @@ static int input (yyscan_t yyscanner ); > /* This used to be an fputs(), but since the string might contain NUL's, > * we now use fwrite(). > */ > -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) > +#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, > @@ -1158,7 +1150,7 @@ static int input (yyscan_t yyscanner ); > if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ > { \ > int c = '*'; \ > - int n; \ > + size_t n; \ > for ( n = 0; n < max_size && \ > (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ > buf[n] = (char) c; \ > @@ -1171,7 +1163,7 @@ static int input (yyscan_t yyscanner ); > else \ > { \ > errno=0; \ > - while ( (result = fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ > + while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ > { \ > if( errno != EINTR) \ > { \ > @@ -1226,7 +1218,7 @@ extern int xlu__disk_yylex (yyscan_t yyscanner); > > /* 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 \ > @@ -1236,9 +1228,9 @@ extern int xlu__disk_yylex (yyscan_t yyscanner); > */ > 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; > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > > if ( !yyg->yy_init ) > @@ -1274,14 +1266,14 @@ YY_DECL > } > > { > -#line 165 "libxlu_disk_l.l" > +#line 166 "libxlu_disk_l.l" > > > /*----- the scanner rules which do the parsing -----*/ > > -#line 1283 "libxlu_disk_l.c" > +#line 1275 "libxlu_disk_l.c" > > - while ( 1 ) /* loops until end-of-file is reached */ > + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ > { > yyg->yy_more_len = 0; > if ( yyg->yy_more_flag ) > @@ -1307,18 +1299,18 @@ 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)] ; > while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) > { > yy_current_state = (int) yy_def[yy_current_state]; > - if ( yy_current_state >= 355 ) > + if ( yy_current_state >= 356 ) > yy_c = yy_meta[(unsigned int) 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] + (flex_int16_t) yy_c]; > *yyg->yy_state_ptr++ = yy_current_state; > ++yy_cp; > } > - while ( yy_current_state != 354 ); > + while ( yy_current_state != 355 ); > > yy_find_action: > yy_current_state = *--yyg->yy_state_ptr; > @@ -1368,135 +1360,135 @@ do_action: /* This label is used only to access EOF actions. */ > case 1: > /* rule 1 can match eol */ > YY_RULE_SETUP > -#line 169 "libxlu_disk_l.l" > +#line 170 "libxlu_disk_l.l" > { /* ignore whitespace before parameters */ } > YY_BREAK > /* ordinary parameters setting enums or strings */ > case 2: > /* rule 2 can match eol */ > YY_RULE_SETUP > -#line 173 "libxlu_disk_l.l" > +#line 174 "libxlu_disk_l.l" > { STRIP(','); setformat(DPC, FROMEQUALS); } > YY_BREAK > case 3: > YY_RULE_SETUP > -#line 175 "libxlu_disk_l.l" > +#line 176 "libxlu_disk_l.l" > { DPC->disk->is_cdrom = 1; } > YY_BREAK > case 4: > YY_RULE_SETUP > -#line 176 "libxlu_disk_l.l" > +#line 177 "libxlu_disk_l.l" > { DPC->disk->is_cdrom = 1; } > YY_BREAK > case 5: > YY_RULE_SETUP > -#line 177 "libxlu_disk_l.l" > +#line 178 "libxlu_disk_l.l" > { DPC->disk->is_cdrom = 0; } > YY_BREAK > case 6: > /* rule 6 can match eol */ > YY_RULE_SETUP > -#line 178 "libxlu_disk_l.l" > +#line 179 "libxlu_disk_l.l" > { xlu__disk_err(DPC,yytext,"unknown value for type"); } > YY_BREAK > case 7: > /* rule 7 can match eol */ > YY_RULE_SETUP > -#line 180 "libxlu_disk_l.l" > +#line 181 "libxlu_disk_l.l" > { STRIP(','); setaccess(DPC, FROMEQUALS); } > YY_BREAK > case 8: > /* rule 8 can match eol */ > YY_RULE_SETUP > -#line 181 "libxlu_disk_l.l" > +#line 182 "libxlu_disk_l.l" > { STRIP(','); SAVESTRING("backend", backend_domname, FROMEQUALS); } > YY_BREAK > case 9: > /* rule 9 can match eol */ > YY_RULE_SETUP > -#line 182 "libxlu_disk_l.l" > +#line 183 "libxlu_disk_l.l" > { STRIP(','); setbackendtype(DPC,FROMEQUALS); } > YY_BREAK > case 10: > /* rule 10 can match eol */ > YY_RULE_SETUP > -#line 184 "libxlu_disk_l.l" > +#line 185 "libxlu_disk_l.l" > { STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); } > YY_BREAK > case 11: > /* rule 11 can match eol */ > YY_RULE_SETUP > -#line 185 "libxlu_disk_l.l" > +#line 186 "libxlu_disk_l.l" > { STRIP(','); SAVESTRING("script", script, FROMEQUALS); } > YY_BREAK > case 12: > YY_RULE_SETUP > -#line 186 "libxlu_disk_l.l" > +#line 187 "libxlu_disk_l.l" > { DPC->disk->direct_io_safe = 1; } > YY_BREAK > case 13: > YY_RULE_SETUP > -#line 187 "libxlu_disk_l.l" > +#line 188 "libxlu_disk_l.l" > { libxl_defbool_set(&DPC->disk->discard_enable, true); } > YY_BREAK > case 14: > YY_RULE_SETUP > -#line 188 "libxlu_disk_l.l" > +#line 189 "libxlu_disk_l.l" > { libxl_defbool_set(&DPC->disk->discard_enable, false); } > YY_BREAK > /* Note that the COLO configuration settings should be considered unstable. > * They may change incompatibly in future versions of Xen. */ > case 15: > YY_RULE_SETUP > -#line 191 "libxlu_disk_l.l" > +#line 192 "libxlu_disk_l.l" > { libxl_defbool_set(&DPC->disk->colo_enable, true); } > YY_BREAK > case 16: > YY_RULE_SETUP > -#line 192 "libxlu_disk_l.l" > +#line 193 "libxlu_disk_l.l" > { libxl_defbool_set(&DPC->disk->colo_enable, false); } > YY_BREAK > case 17: > /* rule 17 can match eol */ > YY_RULE_SETUP > -#line 193 "libxlu_disk_l.l" > +#line 194 "libxlu_disk_l.l" > { STRIP(','); SAVESTRING("colo-host", colo_host, FROMEQUALS); } > YY_BREAK > case 18: > /* rule 18 can match eol */ > YY_RULE_SETUP > -#line 194 "libxlu_disk_l.l" > +#line 195 "libxlu_disk_l.l" > { STRIP(','); setcoloport(DPC, FROMEQUALS); } > YY_BREAK > case 19: > /* rule 19 can match eol */ > YY_RULE_SETUP > -#line 195 "libxlu_disk_l.l" > +#line 196 "libxlu_disk_l.l" > { STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); } > YY_BREAK > case 20: > /* rule 20 can match eol */ > YY_RULE_SETUP > -#line 196 "libxlu_disk_l.l" > +#line 197 "libxlu_disk_l.l" > { STRIP(','); SAVESTRING("active-disk", active_disk, FROMEQUALS); } > YY_BREAK > case 21: > /* rule 21 can match eol */ > YY_RULE_SETUP > -#line 197 "libxlu_disk_l.l" > +#line 198 "libxlu_disk_l.l" > { STRIP(','); SAVESTRING("hidden-disk", hidden_disk, FROMEQUALS); } > YY_BREAK > /* the target magic parameter, eats the rest of the string */ > case 22: > YY_RULE_SETUP > -#line 201 "libxlu_disk_l.l" > +#line 202 "libxlu_disk_l.l" > { STRIP(','); SAVESTRING("target", pdev_path, FROMEQUALS); } > YY_BREAK > /* unknown parameters */ > case 23: > /* rule 23 can match eol */ > YY_RULE_SETUP > -#line 205 "libxlu_disk_l.l" > +#line 206 "libxlu_disk_l.l" > { xlu__disk_err(DPC,yytext,"unknown parameter"); } > YY_BREAK > /* deprecated prefixes */ > @@ -1504,7 +1496,7 @@ YY_RULE_SETUP > * matched the whole string, so these patterns take precedence */ > case 24: > YY_RULE_SETUP > -#line 212 "libxlu_disk_l.l" > +#line 213 "libxlu_disk_l.l" > { > STRIP(':'); > DPC->had_depr_prefix=1; DEPRECATE("use `[format=]...,'"); > @@ -1513,7 +1505,7 @@ YY_RULE_SETUP > YY_BREAK > case 25: > YY_RULE_SETUP > -#line 218 "libxlu_disk_l.l" > +#line 219 "libxlu_disk_l.l" > { > char *newscript; > STRIP(':'); > @@ -1532,12 +1524,12 @@ case 26: > yyg->yy_c_buf_p = yy_cp = yy_bp + 8; > YY_DO_BEFORE_ACTION; /* set up yytext again */ > YY_RULE_SETUP > -#line 231 "libxlu_disk_l.l" > +#line 232 "libxlu_disk_l.l" > { DPC->had_depr_prefix=1; DEPRECATE(0); } > YY_BREAK > case 27: > YY_RULE_SETUP > -#line 232 "libxlu_disk_l.l" > +#line 233 "libxlu_disk_l.l" > { DPC->had_depr_prefix=1; DEPRECATE(0); } > YY_BREAK > case 28: > @@ -1545,7 +1537,7 @@ case 28: > yyg->yy_c_buf_p = yy_cp = yy_bp + 4; > YY_DO_BEFORE_ACTION; /* set up yytext again */ > YY_RULE_SETUP > -#line 233 "libxlu_disk_l.l" > +#line 234 "libxlu_disk_l.l" > { DPC->had_depr_prefix=1; DEPRECATE(0); } > YY_BREAK > case 29: > @@ -1553,7 +1545,7 @@ case 29: > yyg->yy_c_buf_p = yy_cp = yy_bp + 6; > YY_DO_BEFORE_ACTION; /* set up yytext again */ > YY_RULE_SETUP > -#line 234 "libxlu_disk_l.l" > +#line 235 "libxlu_disk_l.l" > { DPC->had_depr_prefix=1; DEPRECATE(0); } > YY_BREAK > case 30: > @@ -1561,7 +1553,7 @@ case 30: > yyg->yy_c_buf_p = yy_cp = yy_bp + 5; > YY_DO_BEFORE_ACTION; /* set up yytext again */ > YY_RULE_SETUP > -#line 235 "libxlu_disk_l.l" > +#line 236 "libxlu_disk_l.l" > { DPC->had_depr_prefix=1; DEPRECATE(0); } > YY_BREAK > case 31: > @@ -1569,13 +1561,13 @@ case 31: > yyg->yy_c_buf_p = yy_cp = yy_bp + 4; > YY_DO_BEFORE_ACTION; /* set up yytext again */ > YY_RULE_SETUP > -#line 236 "libxlu_disk_l.l" > +#line 237 "libxlu_disk_l.l" > { DPC->had_depr_prefix=1; DEPRECATE(0); } > YY_BREAK > case 32: > /* rule 32 can match eol */ > YY_RULE_SETUP > -#line 238 "libxlu_disk_l.l" > +#line 239 "libxlu_disk_l.l" > { > xlu__disk_err(DPC,yytext,"unknown deprecated disk prefix"); > return 0; > @@ -1585,7 +1577,7 @@ YY_RULE_SETUP > case 33: > /* rule 33 can match eol */ > YY_RULE_SETUP > -#line 245 "libxlu_disk_l.l" > +#line 246 "libxlu_disk_l.l" > { > STRIP(','); > > @@ -1614,7 +1606,7 @@ YY_RULE_SETUP > YY_BREAK > case 34: > YY_RULE_SETUP > -#line 271 "libxlu_disk_l.l" > +#line 272 "libxlu_disk_l.l" > { > BEGIN(LEXERR); > yymore(); > @@ -1622,17 +1614,17 @@ YY_RULE_SETUP > YY_BREAK > case 35: > YY_RULE_SETUP > -#line 275 "libxlu_disk_l.l" > +#line 276 "libxlu_disk_l.l" > { > xlu__disk_err(DPC,yytext,"bad disk syntax"); return 0; > } > YY_BREAK > case 36: > YY_RULE_SETUP > -#line 278 "libxlu_disk_l.l" > +#line 279 "libxlu_disk_l.l" > YY_FATAL_ERROR( "flex scanner jammed" ); > YY_BREAK > -#line 1636 "libxlu_disk_l.c" > +#line 1628 "libxlu_disk_l.c" > case YY_STATE_EOF(INITIAL): > case YY_STATE_EOF(LEXERR): > yyterminate(); > @@ -1777,9 +1769,9 @@ YY_FATAL_ERROR( "flex scanner jammed" ); > static int yy_get_next_buffer (yyscan_t yyscanner) > { > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; > - register char *source = yyg->yytext_ptr; > - register int number_to_move, i; > + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; > + char *source = yyg->yytext_ptr; > + yy_size_t number_to_move, i; > int ret_val; > > if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) > @@ -1808,7 +1800,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) > /* Try to read more data. */ > > /* First move last chars to start of buffer. */ > - number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; > + number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; > > for ( i = 0; i < number_to_move; ++i ) > *(dest++) = *(source++); > @@ -1861,9 +1853,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner) > else > ret_val = EOB_ACT_CONTINUE_SCAN; > > - if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { > + if ((int) (yyg->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 = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); > + int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) xlu__disk_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE- > >yy_ch_buf,new_size ,yyscanner ); > if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) > YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); > @@ -1882,8 +1874,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner) > > static yy_state_type yy_get_previous_state (yyscan_t yyscanner) > { > - register yy_state_type yy_current_state; > - register char *yy_cp; > + yy_state_type yy_current_state; > + char *yy_cp; > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > > yy_current_state = yyg->yy_start; > @@ -1893,14 +1885,14 @@ static int yy_get_next_buffer (yyscan_t yyscanner) > > for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->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); > while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) > { > yy_current_state = (int) yy_def[yy_current_state]; > - if ( yy_current_state >= 355 ) > + if ( yy_current_state >= 356 ) > yy_c = yy_meta[(unsigned int) 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] + (flex_int16_t) yy_c]; > *yyg->yy_state_ptr++ = yy_current_state; > } > > @@ -1914,18 +1906,18 @@ static int yy_get_next_buffer (yyscan_t yyscanner) > */ > static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner) > { > - register int yy_is_jam; > + int yy_is_jam; > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */ > > - register YY_CHAR yy_c = 1; > + YY_CHAR yy_c = 1; > while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) > { > yy_current_state = (int) yy_def[yy_current_state]; > - if ( yy_current_state >= 355 ) > + if ( yy_current_state >= 356 ) > yy_c = yy_meta[(unsigned int) yy_c]; > } > - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; > - yy_is_jam = (yy_current_state == 354); > + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; > + yy_is_jam = (yy_current_state == 355); > if ( ! yy_is_jam ) > *yyg->yy_state_ptr++ = yy_current_state; > > @@ -1933,6 +1925,10 @@ static int yy_get_next_buffer (yyscan_t yyscanner) > return yy_is_jam ? 0 : yy_current_state; > } > > +#ifndef YY_NO_UNPUT > + > +#endif > + > #ifndef YY_NO_INPUT > #ifdef __cplusplus > static int yyinput (yyscan_t yyscanner) > @@ -1958,7 +1954,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) > > else > { /* need more input */ > - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; > + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; > ++yyg->yy_c_buf_p; > > switch ( yy_get_next_buffer( yyscanner ) ) > @@ -1982,7 +1978,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) > case EOB_ACT_END_OF_FILE: > { > if ( xlu__disk_yywrap(yyscanner ) ) > - return EOF; > + return 0; > > if ( ! yyg->yy_did_buffer_switch_on_eof ) > YY_NEW_FILE; > @@ -2086,7 +2082,7 @@ static void xlu__disk_yy_load_buffer_state (yyscan_t yyscanner) > if ( ! b ) > YY_FATAL_ERROR( "out of dynamic memory in xlu__disk_yy_create_buffer()" ); > > - b->yy_buf_size = size; > + b->yy_buf_size = (yy_size_t)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. > @@ -2238,7 +2234,7 @@ void xlu__disk_yypop_buffer_state (yyscan_t yyscanner) > */ > static void xlu__disk_yyensure_buffer_stack (yyscan_t yyscanner) > { > - yy_size_t num_to_alloc; > + int num_to_alloc; > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > > if (!yyg->yy_buffer_stack) { > @@ -2247,7 +2243,7 @@ static void xlu__disk_yyensure_buffer_stack (yyscan_t yyscanner) > * 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; > + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ > yyg->yy_buffer_stack = (struct yy_buffer_state**)xlu__disk_yyalloc > (num_to_alloc * sizeof(struct yy_buffer_state*) > , yyscanner); > @@ -2264,7 +2260,7 @@ static void xlu__disk_yyensure_buffer_stack (yyscan_t yyscanner) > if (yyg->yy_buffer_stack_top >= (yyg->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 = yyg->yy_buffer_stack_max + grow_size; > yyg->yy_buffer_stack = (struct yy_buffer_state**)xlu__disk_yyrealloc > @@ -2294,7 +2290,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char * base, yy_size_t size , yyscan > 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) xlu__disk_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); > if ( ! b ) > @@ -2303,7 +2299,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char * base, yy_size_t size , yyscan > b->yy_buf_size = 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; > @@ -2326,7 +2322,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char * base, yy_size_t size , yyscan > YY_BUFFER_STATE xlu__disk_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) > { > > - return xlu__disk_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner); > + return xlu__disk_yy_scan_bytes(yystr,(int) strlen(yystr) ,yyscanner); > } > > /** Setup the input buffer state to scan the given bytes. The next call to xlu__disk_yylex() will > @@ -2336,7 +2332,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_string (yyconst char * yystr , yyscan_t yyscan > * @param yyscanner The scanner object. > * @return the newly allocated buffer state object. > */ > -YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) > +YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) > { > YY_BUFFER_STATE b; > char *buf; > @@ -2344,7 +2340,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yy > yy_size_t i; > > /* Get memory for full buffer, including space for trailing EOB's. */ > - n = _yybytes_len + 2; > + n = (yy_size_t) _yybytes_len + 2; > buf = (char *) xlu__disk_yyalloc(n ,yyscanner ); > if ( ! buf ) > YY_FATAL_ERROR( "out of dynamic memory in xlu__disk_yy_scan_bytes()" ); > @@ -2370,9 +2366,11 @@ YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yy > #define YY_EXIT_FAILURE 2 > #endif > > -static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) > +static void yynoreturn yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) > { > - (void) fprintf( stderr, "%s\n", msg ); > + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > + (void)yyg; > + (void) fprintf( stderr, "%s\n", msg ); > exit( YY_EXIT_FAILURE ); > } > > @@ -2451,7 +2449,7 @@ FILE *xlu__disk_yyget_out (yyscan_t yyscanner) > /** Get the length of the current token. > * @param yyscanner The scanner object. > */ > -yy_size_t xlu__disk_yyget_leng (yyscan_t yyscanner) > +int xlu__disk_yyget_leng (yyscan_t yyscanner) > { > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > return yyleng; > @@ -2478,10 +2476,10 @@ void xlu__disk_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) > } > > /** Set the current line number. > - * @param line_number > + * @param _line_number line number > * @param yyscanner The scanner object. > */ > -void xlu__disk_yyset_lineno (int line_number , yyscan_t yyscanner) > +void xlu__disk_yyset_lineno (int _line_number , yyscan_t yyscanner) > { > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > > @@ -2489,14 +2487,14 @@ void xlu__disk_yyset_lineno (int line_number , yyscan_t yyscanner) > if (! YY_CURRENT_BUFFER ) > YY_FATAL_ERROR( "xlu__disk_yyset_lineno called with no buffer" ); > > - yylineno = line_number; > + yylineno = _line_number; > } > > /** Set the current column. > - * @param line_number > + * @param _column_no column number > * @param yyscanner The scanner object. > */ > -void xlu__disk_yyset_column (int column_no , yyscan_t yyscanner) > +void xlu__disk_yyset_column (int _column_no , yyscan_t yyscanner) > { > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > > @@ -2504,25 +2502,25 @@ void xlu__disk_yyset_column (int column_no , yyscan_t yyscanner) > if (! YY_CURRENT_BUFFER ) > YY_FATAL_ERROR( "xlu__disk_yyset_column called with no buffer" ); > > - yycolumn = column_no; > + yycolumn = _column_no; > } > > /** Set the input stream. This does not discard the current > * input buffer. > - * @param in_str A readable stream. > + * @param _in_str A readable stream. > * @param yyscanner The scanner object. > * @see xlu__disk_yy_switch_to_buffer > */ > -void xlu__disk_yyset_in (FILE * in_str , yyscan_t yyscanner) > +void xlu__disk_yyset_in (FILE * _in_str , yyscan_t yyscanner) > { > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > - yyin = in_str ; > + yyin = _in_str ; > } > > -void xlu__disk_yyset_out (FILE * out_str , yyscan_t yyscanner) > +void xlu__disk_yyset_out (FILE * _out_str , yyscan_t yyscanner) > { > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > - yyout = out_str ; > + yyout = _out_str ; > } > > int xlu__disk_yyget_debug (yyscan_t yyscanner) > @@ -2531,10 +2529,10 @@ int xlu__disk_yyget_debug (yyscan_t yyscanner) > return yy_flex_debug; > } > > -void xlu__disk_yyset_debug (int bdebug , yyscan_t yyscanner) > +void xlu__disk_yyset_debug (int _bdebug , yyscan_t yyscanner) > { > struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > - yy_flex_debug = bdebug ; > + yy_flex_debug = _bdebug ; > } > > /* Accessor methods for yylval and yylloc */ > @@ -2610,10 +2608,10 @@ static int yy_init_globals (yyscan_t yyscanner) > * This function is called from xlu__disk_yylex_destroy(), so don't allocate here. > */ > > - yyg->yy_buffer_stack = 0; > + yyg->yy_buffer_stack = NULL; > yyg->yy_buffer_stack_top = 0; > yyg->yy_buffer_stack_max = 0; > - yyg->yy_c_buf_p = (char *) 0; > + yyg->yy_c_buf_p = NULL; > yyg->yy_init = 0; > yyg->yy_start = 0; > > @@ -2631,8 +2629,8 @@ static int yy_init_globals (yyscan_t yyscanner) > yyin = stdin; > yyout = stdout; > #else > - yyin = (FILE *) 0; > - yyout = (FILE *) 0; > + yyin = NULL; > + yyout = NULL; > #endif > > /* For future reference: Set errno on error, since we are called by > @@ -2681,7 +2679,10 @@ int xlu__disk_yylex_destroy (yyscan_t yyscanner) > #ifndef yytext_ptr > static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner) > { > - register int i; > + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > + (void)yyg; > + > + int i; > for ( i = 0; i < n; ++i ) > s1[i] = s2[i]; > } > @@ -2690,7 +2691,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca > #ifdef YY_NEED_STRLEN > static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) > { > - register int n; > + int n; > for ( n = 0; s[n]; ++n ) > ; > > @@ -2700,11 +2701,16 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) > > void *xlu__disk_yyalloc (yy_size_t size , yyscan_t yyscanner) > { > - return (void *) malloc( size ); > + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > + (void)yyg; > + return malloc(size); > } > > void *xlu__disk_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) > { > + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > + (void)yyg; > + > /* The cast to (char *) in the following accommodates both > * implementations that use char* generic pointers, and those > * that use void* generic pointers. It works with the latter > @@ -2712,14 +2718,16 @@ void *xlu__disk_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) > * any pointer type to void*, and deal with argument conversions > * as though doing an assignment. > */ > - return (void *) realloc( (char *) ptr, size ); > + return realloc(ptr, size); > } > > void xlu__disk_yyfree (void * ptr , yyscan_t yyscanner) > { > + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; > + (void)yyg; > free( (char *) ptr ); /* see xlu__disk_yyrealloc() for (char *) cast */ > } > > #define YYTABLES_NAME "yytables" > > -#line 277 "libxlu_disk_l.l" > +#line 279 "libxlu_disk_l.l" > diff --git a/tools/libxl/libxlu_disk_l.h b/tools/libxl/libxlu_disk_l.h > index 794274f..abeb9bd 100644 > --- a/tools/libxl/libxlu_disk_l.h > +++ b/tools/libxl/libxlu_disk_l.h > @@ -3,12 +3,9 @@ > #define xlu__disk_yyIN_HEADER 1 > > #line 6 "libxlu_disk_l.h" > -#line 31 "libxlu_disk_l.l" > #include "libxl_osdeps.h" /* must come before any other headers */ > > - > - > -#line 12 "libxlu_disk_l.h" > +#line 9 "libxlu_disk_l.h" > > #define YY_INT_ALIGNED short int > > @@ -16,8 +13,8 @@ > > #define FLEX_SCANNER > #define YY_FLEX_MAJOR_VERSION 2 > -#define YY_FLEX_MINOR_VERSION 5 > -#define YY_FLEX_SUBMINOR_VERSION 39 > +#define YY_FLEX_MINOR_VERSION 6 > +#define YY_FLEX_SUBMINOR_VERSION 1 > #if YY_FLEX_SUBMINOR_VERSION > 0 > #define FLEX_BETA > #endif > @@ -96,25 +93,13 @@ typedef unsigned int flex_uint32_t; > > #endif /* ! FLEXINT_H */ > > -#ifdef __cplusplus > - > -/* The "const" storage-class-modifier is valid. */ > -#define YY_USE_CONST > - > -#else /* ! __cplusplus */ > - > -/* C99 requires __STDC__ to be defined as 1. */ > -#if defined (__STDC__) > - > -#define YY_USE_CONST > - > -#endif /* defined (__STDC__) */ > -#endif /* ! __cplusplus */ > - > -#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 > > /* An opaque pointer. */ > @@ -169,12 +154,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 > @@ -218,13 +203,13 @@ void xlu__disk_yypop_buffer_state (yyscan_t yyscanner ); > > YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); > YY_BUFFER_STATE xlu__disk_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); > -YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); > +YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); > > void *xlu__disk_yyalloc (yy_size_t ,yyscan_t yyscanner ); > void *xlu__disk_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); > void xlu__disk_yyfree (void * ,yyscan_t yyscanner ); > > -#define xlu__disk_yywrap(yyscanner) 1 > +#define xlu__disk_yywrap(yyscanner) (/*CONSTCOND*/1) > #define YY_SKIP_YYWRAP > > #define yytext_ptr yytext_r > @@ -266,23 +251,23 @@ void xlu__disk_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); > > FILE *xlu__disk_yyget_in (yyscan_t yyscanner ); > > -void xlu__disk_yyset_in (FILE * in_str ,yyscan_t yyscanner ); > +void xlu__disk_yyset_in (FILE * _in_str ,yyscan_t yyscanner ); > > FILE *xlu__disk_yyget_out (yyscan_t yyscanner ); > > -void xlu__disk_yyset_out (FILE * out_str ,yyscan_t yyscanner ); > +void xlu__disk_yyset_out (FILE * _out_str ,yyscan_t yyscanner ); > > -yy_size_t xlu__disk_yyget_leng (yyscan_t yyscanner ); > + int xlu__disk_yyget_leng (yyscan_t yyscanner ); > > char *xlu__disk_yyget_text (yyscan_t yyscanner ); > > int xlu__disk_yyget_lineno (yyscan_t yyscanner ); > > -void xlu__disk_yyset_lineno (int line_number ,yyscan_t yyscanner ); > +void xlu__disk_yyset_lineno (int _line_number ,yyscan_t yyscanner ); > > int xlu__disk_yyget_column (yyscan_t yyscanner ); > > -void xlu__disk_yyset_column (int column_no ,yyscan_t yyscanner ); > +void xlu__disk_yyset_column (int _column_no ,yyscan_t yyscanner ); > > /* Macros after this point can all be overridden by user definitions in > * section 1. > @@ -348,8 +333,8 @@ extern int xlu__disk_yylex (yyscan_t yyscanner); > #undef YY_DECL > #endif > > -#line 277 "libxlu_disk_l.l" > +#line 279 "libxlu_disk_l.l" > > -#line 354 "libxlu_disk_l.h" > +#line 339 "libxlu_disk_l.h" > #undef xlu__disk_yyIN_HEADER > #endif /* xlu__disk_yyHEADER_H */ > diff --git a/tools/libxl/libxlu_disk_l.l b/tools/libxl/libxlu_disk_l.l > index 5b6db22..f0e6a3b 100644 > --- a/tools/libxl/libxlu_disk_l.l > +++ b/tools/libxl/libxlu_disk_l.l > @@ -102,6 +102,7 @@ static void setformat(DiskParseContext *dpc, const char *str) { > else if (!strcmp(str,"qcow2")) DSET(dpc,format,FORMAT,str,QCOW2); > else if (!strcmp(str,"vhd")) DSET(dpc,format,FORMAT,str,VHD); > else if (!strcmp(str,"empty")) DSET(dpc,format,FORMAT,str,EMPTY); > + else if (!strcmp(str,"qed")) DSET(dpc,format,FORMAT,str,QED); > else xlu__disk_err(dpc,str,"unknown value for format"); > } > > @@ -209,7 +210,7 @@ target=.* { STRIP(','); SAVESTRING("target", pdev_path, FROMEQUALS); } > /* the "/.*" in these patterns ensures that they count as if they > * matched the whole string, so these patterns take precedence */ > > -(raw|qcow2?|vhd):/.* { > +(raw|qcow2?|vhd|qed):/.* { > STRIP(':'); > DPC->had_depr_prefix=1; DEPRECATE("use `[format=]...,'"); > setformat(DPC, yytext);
On Tue, Dec 06, 2016 at 03:41:03PM +0100, Cedric Bosdonnat wrote: > Has this one been buried in the mail stack? > Sorry, it is still on my radar (along with some other patches), but I haven't been able to get around to it. Wei.
On Mon, Nov 14, 2016 at 03:57:00PM +0100, Cédric Bosdonnat wrote: > Qdisk supports qcow and qcow2, extend it to also support qed disk > format. > > Signed-off-by: Cédric Bosdonnat <cbosdonnat@suse.com> > --- > tools/libxl/libxl_device.c | 1 + > tools/libxl/libxl_dm.c | 1 + > tools/libxl/libxl_types.idl | 1 + > tools/libxl/libxl_utils.c | 2 + > tools/libxl/libxlu_disk_l.c | 1018 ++++++++++++++++++++++--------------------- > tools/libxl/libxlu_disk_l.h | 53 +-- > tools/libxl/libxlu_disk_l.l | 3 +- You would also need to patch docs/misc/xl-disk-configuration.txt and possibly xl manpage. You would also need to add a LIBXL_HAVE macro in libxl.h -- there are quite a lot of examples there. Other than the things mentioned above, most code changes look rather mechanical to me. But what is not very satisfying (not your fault) is that we seem to need to add every single disk format we want to support by hand. That's rather repetitive. I wonder if there should be some sort of notation in libxl for "all formats that QEMU supports". Wei.
On Wed, 2016-12-07 at 11:25 +0000, Wei Liu wrote: > On Mon, Nov 14, 2016 at 03:57:00PM +0100, Cédric Bosdonnat wrote: > > Qdisk supports qcow and qcow2, extend it to also support qed disk > > format. > > > > Signed-off-by: Cédric Bosdonnat <cbosdonnat@suse.com> > > --- > > tools/libxl/libxl_device.c | 1 + > > tools/libxl/libxl_dm.c | 1 + > > tools/libxl/libxl_types.idl | 1 + > > tools/libxl/libxl_utils.c | 2 + > > tools/libxl/libxlu_disk_l.c | 1018 ++++++++++++++++++++++--------------------- > > tools/libxl/libxlu_disk_l.h | 53 +-- > > tools/libxl/libxlu_disk_l.l | 3 +- > > You would also need to patch docs/misc/xl-disk-configuration.txt and > possibly xl manpage. Oh indeed, I forgot about those. > You would also need to add a LIBXL_HAVE macro in libxl.h -- there are > quite a lot of examples there. I pondered this too, but I managed to write a configure detection code detecting if the format is managed without it (just by trying to build a small sample of code using the new enum value). Do we really want to have a LIBXL_HAVE macro for every single disk format support we add? > Other than the things mentioned above, most code changes look rather > mechanical to me. > > But what is not very satisfying (not your fault) is that we seem to need > to add every single disk format we want to support by hand. That's > rather repetitive. I wonder if there should be some sort of notation in > libxl for "all formats that QEMU supports". Should I then check the docs for such a statement? Or should I try adding more qemu-supported disk formats? -- Cedric
On Wed, Dec 07, 2016 at 02:04:27PM +0100, Cedric Bosdonnat wrote: > On Wed, 2016-12-07 at 11:25 +0000, Wei Liu wrote: > > On Mon, Nov 14, 2016 at 03:57:00PM +0100, Cédric Bosdonnat wrote: > > > Qdisk supports qcow and qcow2, extend it to also support qed disk > > > format. > > > > > > Signed-off-by: Cédric Bosdonnat <cbosdonnat@suse.com> > > > --- > > > tools/libxl/libxl_device.c | 1 + > > > tools/libxl/libxl_dm.c | 1 + > > > tools/libxl/libxl_types.idl | 1 + > > > tools/libxl/libxl_utils.c | 2 + > > > tools/libxl/libxlu_disk_l.c | 1018 ++++++++++++++++++++++--------------------- > > > tools/libxl/libxlu_disk_l.h | 53 +-- > > > tools/libxl/libxlu_disk_l.l | 3 +- > > > > You would also need to patch docs/misc/xl-disk-configuration.txt and > > possibly xl manpage. > > Oh indeed, I forgot about those. > > > You would also need to add a LIBXL_HAVE macro in libxl.h -- there are > > quite a lot of examples there. > > I pondered this too, but I managed to write a configure detection code detecting > if the format is managed without it (just by trying to build a small sample of code > using the new enum value). Do we really want to have a LIBXL_HAVE macro for every > single disk format support we add? > The new macro is to mark the change in LIBXL public APIs, so that user can rely on the macro to do it, which seems to be a bit easier than requiring everyone to write a small program to test if the enum exists. The macro just needs to carry a certain semantics. It doesn't have to be one macro per enum or thing. For example, you can add a batch of new formats but only have one macro. But in this particular patch, it is going to be one macro for this format. > > Other than the things mentioned above, most code changes look rather > > mechanical to me. > > > > But what is not very satisfying (not your fault) is that we seem to need > > to add every single disk format we want to support by hand. That's > > rather repetitive. I wonder if there should be some sort of notation in > > libxl for "all formats that QEMU supports". > > Should I then check the docs for such a statement? Or should I try adding more > qemu-supported disk formats? > Neither. I was vaguely thinking about some sort of mechanism to automatically detect what QEMU supports and plumb relevant arguments to QEMU. But that doesn't seem to be easy and doesn't fit into our existing model. I think there will be security concern as well. We would need to think more about this. At the moment I think your approach is fine. We just add new formats as they come along. So, please update your patch to patch documents / libxl.h and resend. Wei. > -- > Cedric > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel
On 08/12/16 10:28, Wei Liu wrote: > On Wed, Dec 07, 2016 at 02:04:27PM +0100, Cedric Bosdonnat wrote: >> On Wed, 2016-12-07 at 11:25 +0000, Wei Liu wrote: >>> On Mon, Nov 14, 2016 at 03:57:00PM +0100, Cédric Bosdonnat wrote: >>>> Qdisk supports qcow and qcow2, extend it to also support qed disk >>>> format. >>>> >>>> Signed-off-by: Cédric Bosdonnat <cbosdonnat@suse.com> >>>> --- >>>> tools/libxl/libxl_device.c | 1 + >>>> tools/libxl/libxl_dm.c | 1 + >>>> tools/libxl/libxl_types.idl | 1 + >>>> tools/libxl/libxl_utils.c | 2 + >>>> tools/libxl/libxlu_disk_l.c | 1018 ++++++++++++++++++++++--------------------- >>>> tools/libxl/libxlu_disk_l.h | 53 +-- >>>> tools/libxl/libxlu_disk_l.l | 3 +- >>> >>> You would also need to patch docs/misc/xl-disk-configuration.txt and >>> possibly xl manpage. >> >> Oh indeed, I forgot about those. >> >>> You would also need to add a LIBXL_HAVE macro in libxl.h -- there are >>> quite a lot of examples there. >> >> I pondered this too, but I managed to write a configure detection code detecting >> if the format is managed without it (just by trying to build a small sample of code >> using the new enum value). Do we really want to have a LIBXL_HAVE macro for every >> single disk format support we add? >> > > The new macro is to mark the change in LIBXL public APIs, so that user > can rely on the macro to do it, which seems to be a bit easier than > requiring everyone to write a small program to test if the enum exists. > > The macro just needs to carry a certain semantics. It doesn't have to be > one macro per enum or thing. For example, you can add a batch of new > formats but only have one macro. But in this particular patch, it is > going to be one macro for this format. > >>> Other than the things mentioned above, most code changes look rather >>> mechanical to me. >>> >>> But what is not very satisfying (not your fault) is that we seem to need >>> to add every single disk format we want to support by hand. That's >>> rather repetitive. I wonder if there should be some sort of notation in >>> libxl for "all formats that QEMU supports". >> >> Should I then check the docs for such a statement? Or should I try adding more >> qemu-supported disk formats? >> > > Neither. > > I was vaguely thinking about some sort of mechanism to automatically > detect what QEMU supports and plumb relevant arguments to QEMU. But that > doesn't seem to be easy and doesn't fit into our existing model. I think > there will be security concern as well. We would need to think more > about this. Well, I've added indication of backend support of qemu via Xenstore. For each supported backend type a Xenstore entry is being written. Adding the supported formats under such a node seems to be a natural extension. Juergen > > At the moment I think your approach is fine. We just add new formats as > they come along. > > So, please update your patch to patch documents / libxl.h and resend. > > Wei. > >> -- >> Cedric >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xen.org >> https://lists.xen.org/xen-devel > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel >
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index 3e7a102..6c34141 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -411,6 +411,7 @@ char *libxl__device_disk_string_of_format(libxl_disk_format format) case LIBXL_DISK_FORMAT_VHD: return "vhd"; case LIBXL_DISK_FORMAT_RAW: case LIBXL_DISK_FORMAT_EMPTY: return "aio"; + case LIBXL_DISK_FORMAT_QED: return "qed"; default: return NULL; } } diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index ad366a8..8b37342 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -677,6 +677,7 @@ static const char *qemu_disk_format_string(libxl_disk_format format) case LIBXL_DISK_FORMAT_VHD: return "vpc"; case LIBXL_DISK_FORMAT_RAW: return "raw"; case LIBXL_DISK_FORMAT_EMPTY: return NULL; + case LIBXL_DISK_FORMAT_QED: return "qed"; default: return NULL; } } diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index a32c751..a612d1f 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -114,6 +114,7 @@ libxl_disk_format = Enumeration("disk_format", [ (3, "VHD"), (4, "RAW"), (5, "EMPTY"), + (6, "QED"), ]) libxl_disk_backend = Enumeration("disk_backend", [ diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c index 49cbaa5..507ee56 100644 --- a/tools/libxl/libxl_utils.c +++ b/tools/libxl/libxl_utils.c @@ -317,6 +317,8 @@ int libxl_string_to_backend(libxl_ctx *ctx, char *s, libxl_disk_backend *backend *backend = LIBXL_DISK_BACKEND_QDISK; } else if (!strcmp(p, "qcow2")) { *backend = LIBXL_DISK_BACKEND_QDISK; + } else if (!strcmp(p, "qed")) { + *backend = LIBXL_DISK_BACKEND_QDISK; } } out: diff --git a/tools/libxl/libxlu_disk_l.c b/tools/libxl/libxlu_disk_l.c index 54160ca..fa09a69 100644 --- a/tools/libxl/libxlu_disk_l.c +++ b/tools/libxl/libxlu_disk_l.c @@ -1,10 +1,7 @@ #line 2 "libxlu_disk_l.c" -#line 31 "libxlu_disk_l.l" #include "libxl_osdeps.h" /* must come before any other headers */ - - -#line 8 "libxlu_disk_l.c" +#line 5 "libxlu_disk_l.c" #define YY_INT_ALIGNED short int @@ -12,8 +9,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 1 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -92,25 +89,13 @@ typedef unsigned int flex_uint32_t; #endif /* ! FLEXINT_H */ -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#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. */ @@ -223,12 +208,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 @@ -307,7 +292,7 @@ static void xlu__disk_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yys YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE xlu__disk_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); +YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); void *xlu__disk_yyalloc (yy_size_t ,yyscan_t yyscanner ); void *xlu__disk_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -337,7 +322,7 @@ void xlu__disk_yyfree (void * ,yyscan_t yyscanner ); #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) -#define xlu__disk_yywrap(yyscanner) 1 +#define xlu__disk_yywrap(yyscanner) (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; @@ -349,7 +334,7 @@ typedef int yy_state_type; static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); static int yy_get_next_buffer (yyscan_t yyscanner ); -static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); +static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. @@ -357,7 +342,7 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); #define YY_DO_BEFORE_ACTION \ yyg->yytext_ptr = yy_bp; \ yyg->yytext_ptr -= yyg->yy_more_len; \ - yyleng = (size_t) (yy_cp - yyg->yytext_ptr); \ + yyleng = (int) (yy_cp - yyg->yytext_ptr); \ yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; @@ -371,7 +356,7 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_acclist[575] = +static yyconst flex_int16_t yy_acclist[576] = { 0, 35, 35, 37, 33, 34, 36, 8193, 33, 34, 36, 16385, 8193, 33, 36,16385, 33, 34, 36, 34, 36, @@ -384,61 +369,61 @@ static yyconst flex_int16_t yy_acclist[575] = 8193, 33, 33, 8224, 33,16416, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 35, - 8193, 33, 8193, 33, 8193, 8224, 33, 8224, 33, 8224, - 23, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 8224, 33, 8224, 33, 8224, - 23, 33, 33, 28, 8224, 33,16416, 33, 33, 15, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 8217, - 8224, 33,16409,16416, 33, 33, 31, 8224, 33,16416, - 33, 8216, 8224, 33,16408,16416, 33, 33, 8219, 8224, - 33,16411,16416, 33, 33, 33, 33, 33, 28, 8224, - - 33, 28, 8224, 33, 28, 33, 28, 8224, 33, 3, - 33, 15, 33, 33, 33, 33, 33, 30, 8224, 33, - 16416, 33, 33, 33, 8217, 8224, 33, 8217, 8224, 33, - 8217, 33, 8217, 8224, 33, 33, 31, 8224, 33, 31, - 8224, 33, 31, 33, 31, 8224, 8216, 8224, 33, 8216, - 8224, 33, 8216, 33, 8216, 8224, 33, 8219, 8224, 33, - 8219, 8224, 33, 8219, 33, 8219, 8224, 33, 33, 10, - 33, 33, 28, 8224, 33, 28, 8224, 33, 28, 8224, - 28, 33, 28, 33, 3, 33, 33, 33, 33, 33, - 33, 33, 30, 8224, 33, 30, 8224, 33, 30, 33, - - 30, 8224, 33, 33, 29, 8224, 33,16416, 8217, 8224, - 33, 8217, 8224, 33, 8217, 8224, 8217, 33, 8217, 33, - 33, 31, 8224, 33, 31, 8224, 33, 31, 8224, 31, - 33, 31, 8216, 8224, 33, 8216, 8224, 33, 8216, 8224, - 8216, 33, 8216, 33, 8219, 8224, 33, 8219, 8224, 33, - 8219, 8224, 8219, 33, 8219, 33, 33, 10, 23, 10, - 7, 33, 33, 33, 33, 33, 33, 33, 13, 33, - 30, 8224, 33, 30, 8224, 33, 30, 8224, 30, 33, - 30, 2, 33, 29, 8224, 33, 29, 8224, 33, 29, - 33, 29, 8224, 16, 33, 33, 11, 33, 22, 10, - - 10, 23, 7, 23, 7, 33, 8, 33, 33, 33, - 33, 6, 33, 13, 33, 2, 23, 2, 33, 29, - 8224, 33, 29, 8224, 33, 29, 8224, 29, 33, 29, - 16, 33, 33, 11, 23, 11, 26, 8224, 33,16416, - 22, 23, 22, 7, 7, 23, 33, 8, 23, 8, - 33, 33, 33, 33, 6, 23, 6, 6, 23, 6, - 23, 33, 2, 2, 23, 33, 33, 11, 11, 23, - 26, 8224, 33, 26, 8224, 33, 26, 33, 26, 8224, - 22, 23, 33, 8, 8, 23, 33, 33, 17, 18, - 6, 6, 23, 6, 6, 33, 33, 14, 33, 26, - - 8224, 33, 26, 8224, 33, 26, 8224, 26, 33, 26, - 33, 33, 33, 17, 23, 17, 18, 23, 18, 6, - 6, 33, 33, 14, 33, 20, 9, 19, 17, 17, - 23, 18, 18, 23, 6, 5, 6, 33, 21, 20, - 23, 20, 9, 23, 9, 19, 23, 19, 4, 6, - 5, 6, 33, 21, 23, 21, 20, 20, 23, 9, - 9, 23, 19, 19, 23, 4, 6, 12, 33, 21, - 21, 23, 12, 33 + 35, 8193, 33, 8193, 33, 8193, 8224, 33, 8224, 33, + 8224, 23, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 8224, 33, 8224, 33, + 8224, 23, 33, 33, 28, 8224, 33,16416, 33, 33, + 15, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 8217, 8224, 33,16409,16416, 33, 33, 31, 8224, 33, + 16416, 33, 8216, 8224, 33,16408,16416, 33, 33, 8219, + 8224, 33,16411,16416, 33, 33, 33, 33, 33, 28, + + 8224, 33, 28, 8224, 33, 28, 33, 28, 8224, 33, + 3, 33, 15, 33, 33, 33, 33, 33, 30, 8224, + 33,16416, 33, 33, 33, 8217, 8224, 33, 8217, 8224, + 33, 8217, 33, 8217, 8224, 33, 33, 31, 8224, 33, + 31, 8224, 33, 31, 33, 31, 8224, 8216, 8224, 33, + 8216, 8224, 33, 8216, 33, 8216, 8224, 33, 8219, 8224, + 33, 8219, 8224, 33, 8219, 33, 8219, 8224, 33, 33, + 10, 33, 33, 28, 8224, 33, 28, 8224, 33, 28, + 8224, 28, 33, 28, 33, 3, 33, 33, 33, 33, + 33, 33, 33, 30, 8224, 33, 30, 8224, 33, 30, + + 33, 30, 8224, 33, 33, 29, 8224, 33,16416, 8217, + 8224, 33, 8217, 8224, 33, 8217, 8224, 8217, 33, 8217, + 33, 33, 31, 8224, 33, 31, 8224, 33, 31, 8224, + 31, 33, 31, 8216, 8224, 33, 8216, 8224, 33, 8216, + 8224, 8216, 33, 8216, 33, 8219, 8224, 33, 8219, 8224, + 33, 8219, 8224, 8219, 33, 8219, 33, 33, 10, 23, + 10, 7, 33, 33, 33, 33, 33, 33, 33, 13, + 33, 30, 8224, 33, 30, 8224, 33, 30, 8224, 30, + 33, 30, 2, 33, 29, 8224, 33, 29, 8224, 33, + 29, 33, 29, 8224, 16, 33, 33, 11, 33, 22, + + 10, 10, 23, 7, 23, 7, 33, 8, 33, 33, + 33, 33, 6, 33, 13, 33, 2, 23, 2, 33, + 29, 8224, 33, 29, 8224, 33, 29, 8224, 29, 33, + 29, 16, 33, 33, 11, 23, 11, 26, 8224, 33, + 16416, 22, 23, 22, 7, 7, 23, 33, 8, 23, + 8, 33, 33, 33, 33, 6, 23, 6, 6, 23, + 6, 23, 33, 2, 2, 23, 33, 33, 11, 11, + 23, 26, 8224, 33, 26, 8224, 33, 26, 33, 26, + 8224, 22, 23, 33, 8, 8, 23, 33, 33, 17, + 18, 6, 6, 23, 6, 6, 33, 33, 14, 33, + + 26, 8224, 33, 26, 8224, 33, 26, 8224, 26, 33, + 26, 33, 33, 33, 17, 23, 17, 18, 23, 18, + 6, 6, 33, 33, 14, 33, 20, 9, 19, 17, + 17, 23, 18, 18, 23, 6, 5, 6, 33, 21, + 20, 23, 20, 9, 23, 9, 19, 23, 19, 4, + 6, 5, 6, 33, 21, 23, 21, 20, 20, 23, + 9, 9, 23, 19, 19, 23, 4, 6, 12, 33, + 21, 21, 23, 12, 33 } ; -static yyconst flex_int16_t yy_accept[356] = +static yyconst flex_int16_t yy_accept[357] = { 0, 1, 1, 1, 2, 3, 4, 7, 12, 16, 19, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, @@ -446,42 +431,42 @@ static yyconst flex_int16_t yy_accept[356] = 74, 76, 79, 81, 82, 83, 84, 87, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 113, 115, 116, 118, 120, 121, 122, + 109, 110, 111, 112, 114, 116, 117, 119, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 148, 150, 151, 152, 153, 154, - - 158, 159, 160, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 175, 176, 177, 181, 182, 187, 188, 189, - 194, 195, 196, 197, 198, 199, 202, 205, 207, 209, - 210, 212, 214, 215, 216, 217, 218, 222, 223, 224, - 225, 228, 231, 233, 235, 236, 237, 240, 243, 245, - 247, 250, 253, 255, 257, 258, 261, 264, 266, 268, - 269, 270, 271, 272, 273, 276, 279, 281, 283, 284, - 285, 287, 288, 289, 290, 291, 292, 293, 296, 299, - 301, 303, 304, 305, 309, 312, 315, 317, 319, 320, - 321, 322, 325, 328, 330, 332, 333, 336, 339, 341, - - 343, 344, 345, 348, 351, 353, 355, 356, 357, 358, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 371, 374, 377, 379, 381, 382, 383, 384, 387, 390, - 392, 394, 396, 397, 398, 399, 400, 401, 403, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, - 418, 419, 420, 423, 426, 428, 430, 431, 433, 434, - 436, 437, 441, 443, 444, 445, 447, 448, 450, 451, - 452, 453, 454, 455, 457, 458, 460, 462, 463, 464, - 466, 467, 468, 469, 471, 474, 477, 479, 481, 483, - 484, 485, 487, 488, 489, 490, 491, 492, 494, 495, - - 496, 497, 498, 500, 503, 506, 508, 510, 511, 512, - 513, 514, 516, 517, 519, 520, 521, 522, 523, 524, - 526, 527, 528, 529, 530, 532, 533, 535, 536, 538, - 539, 540, 542, 543, 545, 546, 548, 549, 551, 553, - 554, 556, 557, 558, 560, 561, 563, 564, 566, 568, - 570, 571, 573, 575, 575 + 143, 144, 145, 146, 147, 149, 151, 152, 153, 154, + + 155, 159, 160, 161, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 176, 177, 178, 182, 183, 188, 189, + 190, 195, 196, 197, 198, 199, 200, 203, 206, 208, + 210, 211, 213, 215, 216, 217, 218, 219, 223, 224, + 225, 226, 229, 232, 234, 236, 237, 238, 241, 244, + 246, 248, 251, 254, 256, 258, 259, 262, 265, 267, + 269, 270, 271, 272, 273, 274, 277, 280, 282, 284, + 285, 286, 288, 289, 290, 291, 292, 293, 294, 297, + 300, 302, 304, 305, 306, 310, 313, 316, 318, 320, + 321, 322, 323, 326, 329, 331, 333, 334, 337, 340, + + 342, 344, 345, 346, 349, 352, 354, 356, 357, 358, + 359, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 372, 375, 378, 380, 382, 383, 384, 385, 388, + 391, 393, 395, 397, 398, 399, 400, 401, 402, 404, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 417, 419, 420, 421, 424, 427, 429, 431, 432, 434, + 435, 437, 438, 442, 444, 445, 446, 448, 449, 451, + 452, 453, 454, 455, 456, 458, 459, 461, 463, 464, + 465, 467, 468, 469, 470, 472, 475, 478, 480, 482, + 484, 485, 486, 488, 489, 490, 491, 492, 493, 495, + + 496, 497, 498, 499, 501, 504, 507, 509, 511, 512, + 513, 514, 515, 517, 518, 520, 521, 522, 523, 524, + 525, 527, 528, 529, 530, 531, 533, 534, 536, 537, + 539, 540, 541, 543, 544, 546, 547, 549, 550, 552, + 554, 555, 557, 558, 559, 561, 562, 564, 565, 567, + 569, 571, 572, 574, 576, 576 } ; -static yyconst flex_int32_t yy_ec[256] = +static yyconst 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, @@ -513,7 +498,7 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[35] = +static yyconst YY_CHAR yy_meta[35] = { 0, 1, 1, 2, 3, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -521,216 +506,217 @@ static yyconst flex_int32_t yy_meta[35] = 1, 1, 1, 1 } ; -static yyconst flex_int16_t yy_base[424] = +static yyconst flex_uint16_t yy_base[425] = { 0, - 0, 0, 901, 900, 902, 897, 33, 36, 905, 905, - 45, 63, 31, 42, 51, 52, 890, 33, 65, 67, - 69, 70, 889, 71, 888, 75, 0, 905, 893, 905, - 91, 94, 0, 0, 103, 886, 112, 0, 89, 98, - 113, 92, 114, 99, 100, 48, 121, 116, 119, 74, - 124, 129, 123, 135, 132, 133, 137, 134, 138, 139, - 141, 0, 155, 0, 0, 164, 0, 0, 849, 142, - 152, 164, 140, 161, 165, 166, 167, 168, 169, 173, - 174, 178, 176, 180, 184, 208, 189, 183, 192, 195, - 215, 191, 193, 223, 0, 0, 905, 208, 204, 236, - - 219, 209, 238, 196, 237, 831, 242, 815, 241, 224, - 243, 261, 244, 259, 277, 266, 286, 250, 288, 298, - 249, 283, 274, 282, 294, 308, 0, 310, 0, 295, - 305, 905, 308, 306, 313, 314, 342, 319, 316, 320, - 331, 0, 349, 0, 342, 344, 356, 0, 358, 0, - 365, 0, 367, 0, 354, 375, 0, 377, 0, 363, - 356, 809, 327, 322, 384, 0, 0, 0, 0, 379, - 905, 382, 384, 386, 390, 372, 392, 403, 0, 410, - 0, 407, 413, 423, 426, 0, 0, 0, 0, 409, - 424, 435, 0, 0, 0, 0, 437, 0, 0, 0, - - 0, 433, 444, 0, 0, 0, 0, 391, 440, 781, - 905, 769, 439, 445, 444, 447, 449, 454, 453, 399, - 464, 0, 0, 0, 0, 757, 465, 476, 0, 478, - 0, 479, 476, 753, 462, 490, 749, 905, 745, 905, - 483, 737, 424, 485, 487, 490, 500, 493, 905, 729, - 905, 502, 518, 0, 0, 0, 0, 905, 498, 721, - 905, 527, 713, 0, 705, 905, 495, 697, 905, 365, - 521, 528, 530, 685, 905, 534, 540, 540, 657, 905, - 537, 542, 650, 905, 553, 0, 557, 0, 0, 551, - 641, 905, 558, 557, 633, 614, 613, 905, 547, 555, - - 563, 565, 569, 584, 0, 0, 0, 0, 583, 570, - 585, 612, 905, 601, 905, 522, 580, 589, 594, 905, - 600, 585, 563, 520, 905, 514, 905, 586, 486, 597, - 480, 441, 905, 416, 905, 345, 905, 334, 905, 601, - 254, 905, 242, 905, 200, 905, 151, 905, 905, 607, - 86, 905, 905, 905, 620, 624, 627, 631, 635, 639, - 643, 647, 651, 655, 659, 663, 667, 671, 675, 679, - 683, 687, 691, 695, 699, 703, 707, 711, 715, 719, - 723, 727, 731, 735, 739, 743, 747, 751, 755, 759, - 763, 767, 771, 775, 779, 783, 787, 791, 795, 799, - - 803, 807, 811, 815, 819, 823, 827, 831, 835, 839, - 843, 847, 851, 855, 859, 863, 867, 871, 875, 879, - 883, 887, 891 + 0, 0, 904, 903, 905, 900, 33, 36, 908, 908, + 45, 63, 31, 42, 51, 52, 893, 33, 65, 67, + 69, 70, 892, 71, 891, 75, 0, 908, 896, 908, + 91, 94, 0, 0, 103, 889, 112, 0, 89, 98, + 113, 92, 114, 99, 100, 48, 121, 116, 119, 77, + 124, 129, 123, 135, 132, 133, 134, 138, 140, 144, + 139, 142, 0, 155, 0, 0, 159, 0, 0, 894, + 146, 155, 164, 141, 165, 166, 167, 168, 169, 170, + 174, 175, 181, 176, 177, 185, 205, 191, 190, 194, + 193, 213, 200, 202, 221, 0, 0, 908, 209, 205, + + 237, 217, 222, 224, 225, 237, 887, 240, 886, 241, + 233, 242, 263, 245, 261, 279, 246, 288, 251, 267, + 297, 252, 293, 276, 284, 294, 306, 0, 310, 0, + 301, 312, 908, 313, 307, 308, 268, 338, 319, 310, + 313, 341, 0, 348, 0, 341, 343, 355, 0, 357, + 0, 364, 0, 366, 0, 353, 374, 0, 376, 0, + 321, 355, 849, 325, 371, 383, 0, 0, 0, 0, + 378, 908, 377, 381, 383, 387, 393, 389, 405, 0, + 408, 0, 406, 408, 418, 421, 0, 0, 0, 0, + 416, 419, 430, 0, 0, 0, 0, 432, 0, 0, + + 0, 0, 428, 439, 0, 0, 0, 0, 434, 436, + 837, 908, 821, 437, 442, 443, 445, 447, 452, 451, + 396, 463, 0, 0, 0, 0, 809, 463, 474, 0, + 476, 0, 477, 474, 781, 364, 488, 769, 908, 757, + 908, 481, 753, 472, 483, 485, 488, 498, 491, 908, + 749, 908, 500, 516, 0, 0, 0, 0, 908, 496, + 745, 908, 525, 737, 0, 729, 908, 509, 721, 908, + 506, 523, 529, 531, 713, 908, 535, 528, 540, 705, + 908, 542, 544, 697, 908, 555, 0, 557, 0, 0, + 555, 685, 908, 537, 550, 657, 650, 641, 908, 443, + + 545, 559, 564, 570, 577, 0, 0, 0, 0, 576, + 581, 583, 633, 908, 614, 908, 574, 589, 587, 592, + 908, 613, 612, 602, 599, 908, 598, 908, 590, 565, + 595, 561, 520, 908, 501, 908, 484, 908, 461, 908, + 601, 449, 908, 400, 908, 332, 908, 324, 908, 908, + 607, 188, 908, 908, 908, 620, 624, 627, 631, 635, + 639, 643, 647, 651, 655, 659, 663, 667, 671, 675, + 679, 683, 687, 691, 695, 699, 703, 707, 711, 715, + 719, 723, 727, 731, 735, 739, 743, 747, 751, 755, + 759, 763, 767, 771, 775, 779, 783, 787, 791, 795, + + 799, 803, 807, 811, 815, 819, 823, 827, 831, 835, + 839, 843, 847, 851, 855, 859, 863, 867, 871, 875, + 879, 883, 887, 891 } ; -static yyconst flex_int16_t yy_def[424] = +static yyconst flex_int16_t yy_def[425] = { 0, - 354, 1, 355, 355, 354, 356, 357, 357, 354, 354, - 358, 358, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 359, 354, 356, 354, - 360, 357, 361, 361, 362, 12, 356, 363, 12, 12, + 355, 1, 356, 356, 355, 357, 358, 358, 355, 355, + 359, 359, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 360, 355, 357, 355, + 361, 358, 362, 362, 363, 12, 357, 364, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 359, 360, 361, 361, 364, 365, 365, 354, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 362, 12, 12, 12, 12, - 12, 12, 12, 364, 365, 365, 354, 12, 12, 366, - + 12, 12, 360, 361, 362, 362, 365, 366, 366, 355, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 367, 86, 86, 368, 12, 369, 12, 12, 370, - 12, 12, 12, 12, 12, 371, 372, 366, 372, 12, - 12, 354, 86, 12, 12, 12, 373, 12, 12, 12, - 374, 375, 367, 375, 86, 86, 376, 377, 368, 377, - 378, 379, 369, 379, 12, 380, 381, 370, 381, 12, - 12, 382, 12, 12, 371, 372, 372, 383, 383, 12, - 354, 86, 86, 86, 12, 12, 12, 384, 385, 373, - 385, 12, 12, 386, 374, 375, 375, 387, 387, 86, - 86, 376, 377, 377, 388, 388, 378, 379, 379, 389, - - 389, 12, 380, 381, 381, 390, 390, 12, 12, 391, - 354, 392, 86, 12, 86, 86, 86, 12, 86, 12, - 384, 385, 385, 393, 393, 394, 86, 395, 396, 386, - 396, 86, 86, 397, 12, 398, 391, 354, 399, 354, - 86, 400, 12, 86, 86, 86, 401, 86, 354, 402, - 354, 86, 395, 396, 396, 403, 403, 354, 86, 404, - 354, 405, 406, 406, 399, 354, 86, 407, 354, 12, - 86, 86, 86, 408, 354, 408, 408, 86, 402, 354, - 86, 86, 404, 354, 409, 410, 405, 410, 406, 86, - 407, 354, 12, 86, 411, 412, 408, 354, 408, 408, - - 86, 86, 86, 409, 410, 410, 413, 413, 86, 12, - 86, 414, 354, 415, 354, 408, 408, 86, 86, 354, - 416, 417, 418, 414, 354, 415, 354, 408, 408, 86, - 419, 420, 354, 421, 354, 422, 354, 408, 354, 86, - 423, 354, 420, 354, 421, 354, 422, 354, 354, 86, - 423, 354, 354, 0, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 354, 354 + 12, 12, 12, 12, 12, 12, 363, 12, 12, 12, + 12, 12, 12, 12, 365, 366, 366, 355, 12, 12, + + 367, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 368, 87, 87, 369, 12, 370, 12, 12, + 371, 12, 12, 12, 12, 12, 372, 373, 367, 373, + 12, 12, 355, 87, 12, 12, 12, 374, 12, 12, + 12, 375, 376, 368, 376, 87, 87, 377, 378, 369, + 378, 379, 380, 370, 380, 12, 381, 382, 371, 382, + 12, 12, 383, 12, 12, 372, 373, 373, 384, 384, + 12, 355, 87, 87, 87, 12, 12, 12, 385, 386, + 374, 386, 12, 12, 387, 375, 376, 376, 388, 388, + 87, 87, 377, 378, 378, 389, 389, 379, 380, 380, + + 390, 390, 12, 381, 382, 382, 391, 391, 12, 12, + 392, 355, 393, 87, 12, 87, 87, 87, 12, 87, + 12, 385, 386, 386, 394, 394, 395, 87, 396, 397, + 387, 397, 87, 87, 398, 12, 399, 392, 355, 400, + 355, 87, 401, 12, 87, 87, 87, 402, 87, 355, + 403, 355, 87, 396, 397, 397, 404, 404, 355, 87, + 405, 355, 406, 407, 407, 400, 355, 87, 408, 355, + 12, 87, 87, 87, 409, 355, 409, 409, 87, 403, + 355, 87, 87, 405, 355, 410, 411, 406, 411, 407, + 87, 408, 355, 12, 87, 412, 413, 409, 355, 409, + + 409, 87, 87, 87, 410, 411, 411, 414, 414, 87, + 12, 87, 415, 355, 416, 355, 409, 409, 87, 87, + 355, 417, 418, 419, 415, 355, 416, 355, 409, 409, + 87, 420, 421, 355, 422, 355, 423, 355, 409, 355, + 87, 424, 355, 421, 355, 422, 355, 423, 355, 355, + 87, 424, 355, 355, 0, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355 } ; -static yyconst flex_int16_t yy_nxt[940] = +static yyconst flex_uint16_t yy_nxt[943] = { 0, 6, 7, 8, 9, 6, 6, 6, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 17, 17, 17, 17, 20, 17, 21, 22, 23, 24, 25, 17, 26, 17, 17, 17, 32, 32, 33, 32, 32, 33, 36, 34, 36, 42, 34, 29, 29, 29, 30, 35, - 50, 36, 37, 38, 43, 44, 39, 36, 79, 45, + 50, 36, 37, 38, 43, 44, 39, 36, 80, 45, 36, 36, 40, 29, 29, 29, 30, 35, 46, 48, 37, 38, 41, 47, 36, 49, 36, 53, 36, 36, - 36, 56, 58, 36, 36, 55, 82, 60, 51, 342, - 54, 61, 52, 29, 64, 32, 32, 33, 36, 65, - - 70, 36, 34, 29, 29, 29, 30, 36, 36, 36, - 29, 38, 66, 66, 66, 67, 66, 71, 74, 66, - 68, 72, 36, 36, 73, 36, 77, 78, 36, 76, - 36, 53, 36, 36, 75, 85, 80, 83, 36, 86, - 84, 36, 36, 36, 36, 81, 36, 36, 36, 36, - 36, 36, 93, 89, 337, 98, 88, 29, 64, 101, - 90, 36, 91, 65, 92, 87, 29, 95, 89, 99, - 36, 100, 96, 36, 36, 36, 36, 36, 36, 106, - 105, 85, 36, 36, 102, 36, 107, 36, 103, 36, - 109, 112, 36, 36, 104, 108, 115, 110, 36, 117, - - 36, 36, 36, 335, 36, 36, 122, 111, 29, 29, - 29, 30, 118, 36, 116, 29, 38, 36, 36, 113, - 114, 119, 120, 123, 36, 29, 95, 121, 36, 134, - 131, 96, 130, 36, 125, 124, 126, 126, 66, 127, - 126, 132, 133, 126, 129, 333, 36, 36, 135, 137, - 36, 36, 36, 140, 139, 35, 35, 352, 36, 36, - 85, 141, 141, 66, 142, 141, 160, 145, 141, 144, - 35, 35, 89, 117, 155, 36, 146, 147, 147, 66, - 148, 147, 162, 36, 147, 150, 151, 151, 66, 152, - 151, 36, 36, 151, 154, 120, 161, 36, 156, 156, - - 66, 157, 156, 36, 36, 156, 159, 164, 171, 163, - 29, 166, 29, 168, 36, 36, 167, 170, 169, 35, - 35, 172, 36, 36, 173, 36, 213, 184, 36, 36, - 175, 36, 174, 29, 186, 212, 36, 349, 183, 187, - 177, 176, 178, 178, 66, 179, 178, 182, 348, 178, - 181, 29, 188, 35, 35, 35, 35, 189, 29, 193, - 29, 195, 190, 36, 194, 36, 196, 29, 198, 29, - 200, 191, 36, 199, 36, 201, 219, 29, 204, 29, - 206, 36, 202, 205, 209, 207, 29, 166, 36, 293, - 208, 214, 167, 35, 35, 35, 35, 35, 35, 36, - - 36, 36, 249, 218, 220, 29, 222, 216, 36, 217, - 235, 223, 29, 224, 215, 226, 36, 227, 225, 346, - 35, 35, 36, 228, 228, 66, 229, 228, 29, 186, - 228, 231, 232, 36, 187, 233, 35, 29, 193, 29, - 198, 234, 36, 194, 344, 199, 29, 204, 236, 36, - 35, 241, 205, 242, 36, 35, 35, 270, 35, 35, - 35, 35, 247, 36, 35, 35, 29, 222, 244, 262, - 248, 36, 223, 243, 245, 246, 35, 252, 29, 254, - 29, 256, 258, 342, 255, 259, 257, 35, 35, 339, - 35, 35, 69, 264, 35, 35, 35, 35, 35, 35, - - 267, 35, 35, 275, 35, 35, 35, 35, 271, 35, - 35, 276, 277, 35, 35, 272, 278, 315, 273, 281, - 29, 254, 290, 313, 282, 275, 255, 285, 285, 66, - 286, 285, 35, 35, 285, 288, 295, 298, 296, 35, - 35, 35, 35, 298, 301, 328, 299, 294, 35, 35, - 275, 35, 35, 35, 303, 29, 305, 300, 275, 29, - 307, 306, 35, 35, 302, 308, 337, 36, 35, 35, - 309, 310, 320, 316, 35, 35, 35, 35, 322, 36, - 35, 35, 317, 275, 319, 311, 29, 305, 335, 275, - 318, 321, 306, 323, 35, 35, 35, 35, 330, 329, - - 35, 35, 331, 333, 327, 35, 35, 338, 35, 35, - 353, 340, 35, 35, 350, 325, 275, 315, 35, 35, + 36, 56, 59, 57, 36, 55, 36, 61, 51, 83, + 54, 62, 52, 29, 65, 32, 32, 33, 36, 66, + + 71, 36, 34, 29, 29, 29, 30, 36, 36, 36, + 29, 38, 67, 67, 67, 68, 67, 72, 75, 67, + 69, 73, 36, 36, 74, 36, 78, 79, 36, 77, + 36, 53, 36, 36, 76, 86, 81, 84, 36, 87, + 85, 36, 36, 36, 36, 82, 90, 36, 36, 36, + 36, 36, 94, 36, 90, 36, 89, 29, 65, 99, + 102, 29, 96, 66, 36, 88, 91, 97, 92, 90, + 93, 101, 100, 36, 36, 36, 36, 36, 36, 36, + 107, 106, 86, 36, 36, 36, 36, 108, 103, 104, + 36, 343, 113, 110, 36, 105, 109, 111, 116, 36, + + 36, 118, 36, 36, 112, 29, 29, 29, 30, 36, + 119, 36, 29, 38, 36, 123, 114, 115, 36, 120, + 121, 117, 36, 29, 96, 122, 36, 133, 134, 97, + 131, 36, 124, 36, 36, 126, 125, 127, 127, 67, + 128, 127, 36, 132, 127, 130, 36, 138, 136, 36, + 36, 36, 90, 118, 140, 36, 35, 35, 135, 86, + 36, 36, 141, 142, 142, 67, 143, 142, 146, 161, + 142, 145, 35, 35, 121, 156, 36, 36, 147, 148, + 148, 67, 149, 148, 163, 36, 148, 151, 152, 152, + 67, 153, 152, 36, 178, 152, 155, 157, 157, 67, + + 158, 157, 36, 36, 157, 160, 162, 165, 29, 167, + 36, 164, 29, 169, 168, 172, 36, 36, 170, 36, + 185, 36, 36, 171, 35, 35, 173, 338, 36, 174, + 36, 176, 184, 213, 36, 336, 177, 175, 179, 179, + 67, 180, 179, 29, 187, 179, 182, 183, 209, 188, + 29, 189, 35, 35, 35, 35, 190, 29, 194, 29, + 196, 191, 36, 195, 36, 197, 29, 199, 29, 201, + 192, 263, 200, 36, 202, 214, 29, 205, 29, 207, + 36, 203, 206, 210, 208, 29, 167, 36, 35, 35, + 215, 168, 35, 35, 35, 35, 36, 220, 36, 250, + + 219, 221, 36, 334, 217, 36, 218, 29, 223, 216, + 29, 225, 228, 224, 227, 36, 226, 36, 229, 229, + 67, 230, 229, 29, 187, 229, 232, 35, 35, 188, + 234, 35, 29, 194, 29, 199, 235, 36, 195, 233, + 200, 29, 205, 36, 237, 36, 276, 206, 35, 242, + 243, 36, 353, 236, 35, 35, 35, 35, 35, 35, + 248, 36, 35, 35, 350, 29, 223, 245, 249, 317, + 244, 224, 246, 247, 35, 253, 29, 255, 29, 257, + 259, 36, 256, 260, 258, 35, 35, 349, 35, 35, + 70, 265, 35, 35, 35, 35, 35, 35, 268, 35, + + 35, 276, 35, 35, 347, 271, 272, 35, 35, 277, + 278, 35, 35, 273, 279, 36, 274, 282, 29, 255, + 35, 35, 283, 345, 256, 286, 286, 67, 287, 286, + 294, 299, 286, 289, 35, 35, 291, 296, 299, 297, + 35, 35, 35, 35, 302, 301, 36, 300, 276, 295, + 311, 35, 35, 35, 35, 35, 304, 29, 306, 29, + 308, 35, 35, 307, 343, 309, 35, 35, 340, 303, + 35, 35, 318, 321, 310, 35, 35, 276, 312, 29, + 306, 35, 35, 320, 322, 307, 319, 35, 35, 323, + 36, 324, 276, 276, 35, 35, 331, 329, 35, 35, + + 332, 316, 314, 35, 35, 338, 35, 35, 330, 341, + 354, 339, 35, 35, 351, 336, 334, 328, 35, 35, 27, 27, 27, 27, 29, 29, 29, 31, 31, 31, - 31, 36, 36, 36, 36, 62, 313, 62, 62, 63, - 63, 63, 63, 65, 269, 65, 65, 35, 35, 35, - 35, 69, 69, 261, 69, 94, 94, 94, 94, 96, - 251, 96, 96, 128, 128, 128, 128, 143, 143, 143, - 143, 149, 149, 149, 149, 153, 153, 153, 153, 158, - 158, 158, 158, 165, 165, 165, 165, 167, 298, 167, - 167, 180, 180, 180, 180, 185, 185, 185, 185, 187, - - 292, 187, 187, 192, 192, 192, 192, 194, 240, 194, - 194, 197, 197, 197, 197, 199, 289, 199, 199, 203, - 203, 203, 203, 205, 284, 205, 205, 210, 210, 210, - 210, 169, 280, 169, 169, 221, 221, 221, 221, 223, - 269, 223, 223, 230, 230, 230, 230, 189, 266, 189, - 189, 196, 211, 196, 196, 201, 261, 201, 201, 207, - 251, 207, 207, 237, 237, 237, 237, 239, 239, 239, - 239, 225, 240, 225, 225, 250, 250, 250, 250, 253, - 253, 253, 253, 255, 238, 255, 255, 260, 260, 260, - 260, 263, 263, 263, 263, 265, 265, 265, 265, 268, - - 268, 268, 268, 274, 274, 274, 274, 279, 279, 279, - 279, 257, 211, 257, 257, 283, 283, 283, 283, 287, - 287, 287, 287, 264, 138, 264, 264, 291, 291, 291, - 291, 297, 297, 297, 297, 304, 304, 304, 304, 306, - 136, 306, 306, 312, 312, 312, 312, 314, 314, 314, - 314, 308, 97, 308, 308, 324, 324, 324, 324, 326, - 326, 326, 326, 332, 332, 332, 332, 334, 334, 334, - 334, 336, 336, 336, 336, 341, 341, 341, 341, 343, - 343, 343, 343, 345, 345, 345, 345, 347, 347, 347, - 347, 351, 351, 351, 351, 36, 30, 59, 57, 36, - - 30, 354, 28, 28, 5, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354 + 31, 36, 36, 36, 36, 63, 326, 63, 63, 64, + 64, 64, 64, 66, 276, 66, 66, 35, 35, 35, + 35, 70, 70, 316, 70, 95, 95, 95, 95, 97, + 314, 97, 97, 129, 129, 129, 129, 144, 144, 144, + 144, 150, 150, 150, 150, 154, 154, 154, 154, 159, + 159, 159, 159, 166, 166, 166, 166, 168, 270, 168, + 168, 181, 181, 181, 181, 186, 186, 186, 186, 188, + + 262, 188, 188, 193, 193, 193, 193, 195, 252, 195, + 195, 198, 198, 198, 198, 200, 299, 200, 200, 204, + 204, 204, 204, 206, 293, 206, 206, 211, 211, 211, + 211, 170, 241, 170, 170, 222, 222, 222, 222, 224, + 290, 224, 224, 231, 231, 231, 231, 190, 285, 190, + 190, 197, 281, 197, 197, 202, 270, 202, 202, 208, + 267, 208, 208, 238, 238, 238, 238, 240, 240, 240, + 240, 226, 212, 226, 226, 251, 251, 251, 251, 254, + 254, 254, 254, 256, 262, 256, 256, 261, 261, 261, + 261, 264, 264, 264, 264, 266, 266, 266, 266, 269, + + 269, 269, 269, 275, 275, 275, 275, 280, 280, 280, + 280, 258, 252, 258, 258, 284, 284, 284, 284, 288, + 288, 288, 288, 265, 241, 265, 265, 292, 292, 292, + 292, 298, 298, 298, 298, 305, 305, 305, 305, 307, + 239, 307, 307, 313, 313, 313, 313, 315, 315, 315, + 315, 309, 212, 309, 309, 325, 325, 325, 325, 327, + 327, 327, 327, 333, 333, 333, 333, 335, 335, 335, + 335, 337, 337, 337, 337, 342, 342, 342, 342, 344, + 344, 344, 344, 346, 346, 346, 346, 348, 348, 348, + 348, 352, 352, 352, 352, 139, 137, 98, 36, 30, + + 60, 58, 36, 30, 355, 28, 28, 5, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355 } ; -static yyconst flex_int16_t yy_chk[940] = +static yyconst flex_int16_t yy_chk[943] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -740,101 +726,102 @@ static yyconst flex_int16_t yy_chk[940] = 18, 14, 11, 11, 13, 14, 11, 46, 46, 14, 15, 16, 11, 12, 12, 12, 12, 12, 14, 16, 12, 12, 12, 15, 19, 16, 20, 20, 21, 22, - 24, 22, 24, 50, 26, 21, 50, 26, 19, 351, + 24, 22, 24, 22, 26, 21, 50, 26, 19, 50, 20, 26, 19, 31, 31, 32, 32, 32, 39, 31, 39, 42, 32, 35, 35, 35, 35, 40, 44, 45, 35, 35, 37, 37, 37, 37, 37, 39, 42, 37, 37, 40, 41, 43, 41, 48, 45, 45, 49, 44, 47, 47, 53, 51, 43, 53, 48, 51, 52, 54, - 52, 55, 56, 58, 54, 49, 57, 59, 60, 73, - 61, 70, 60, 61, 347, 70, 56, 63, 63, 73, - 58, 71, 59, 63, 59, 55, 66, 66, 57, 71, - 74, 72, 66, 72, 75, 76, 77, 78, 79, 78, - 77, 79, 80, 81, 74, 83, 80, 82, 75, 84, - 82, 85, 88, 85, 76, 81, 87, 83, 87, 89, - - 92, 89, 93, 345, 90, 104, 92, 84, 86, 86, - 86, 86, 90, 99, 88, 86, 86, 98, 102, 86, - 86, 91, 91, 93, 91, 94, 94, 91, 101, 104, - 102, 94, 101, 110, 99, 98, 100, 100, 100, 100, - 100, 103, 103, 100, 100, 343, 105, 103, 105, 107, - 109, 107, 111, 110, 109, 113, 113, 341, 121, 118, - 111, 112, 112, 112, 112, 112, 121, 113, 112, 112, - 114, 114, 116, 116, 118, 116, 114, 115, 115, 115, - 115, 115, 123, 123, 115, 115, 117, 117, 117, 117, - 117, 124, 122, 117, 117, 119, 122, 119, 120, 120, - - 120, 120, 120, 125, 130, 120, 120, 125, 131, 124, - 126, 126, 128, 128, 131, 134, 126, 130, 128, 133, - 133, 133, 135, 136, 133, 139, 164, 140, 138, 140, - 134, 164, 133, 141, 141, 163, 163, 338, 139, 141, - 136, 135, 137, 137, 137, 137, 137, 138, 336, 137, - 137, 143, 143, 145, 145, 146, 146, 143, 147, 147, - 149, 149, 145, 155, 147, 161, 149, 151, 151, 153, - 153, 146, 160, 151, 270, 153, 176, 156, 156, 158, - 158, 176, 155, 156, 161, 158, 165, 165, 170, 270, - 160, 170, 165, 172, 172, 173, 173, 174, 174, 175, - - 208, 177, 220, 175, 177, 178, 178, 173, 220, 174, - 208, 178, 180, 180, 172, 182, 182, 183, 180, 334, - 190, 190, 183, 184, 184, 184, 184, 184, 185, 185, - 184, 184, 190, 243, 185, 191, 191, 192, 192, 197, - 197, 202, 202, 192, 332, 197, 203, 203, 209, 209, - 213, 213, 203, 214, 214, 215, 215, 243, 216, 216, - 217, 217, 218, 218, 219, 219, 221, 221, 215, 235, - 219, 235, 221, 214, 216, 217, 227, 227, 228, 228, - 230, 230, 232, 331, 228, 233, 230, 233, 233, 329, - 232, 232, 236, 236, 241, 241, 244, 244, 245, 245, - - 241, 246, 246, 247, 248, 248, 267, 267, 244, 259, - 259, 247, 247, 252, 252, 245, 248, 326, 246, 252, - 253, 253, 267, 324, 259, 316, 253, 262, 262, 262, - 262, 262, 271, 271, 262, 262, 272, 276, 273, 272, - 272, 273, 273, 277, 278, 316, 276, 271, 281, 281, - 299, 278, 278, 282, 282, 285, 285, 277, 300, 287, - 287, 285, 290, 290, 281, 287, 323, 293, 294, 294, - 290, 293, 303, 299, 301, 301, 302, 302, 310, 310, - 303, 303, 300, 317, 302, 294, 304, 304, 322, 328, - 301, 309, 304, 311, 309, 309, 311, 311, 318, 317, - - 318, 318, 319, 321, 314, 319, 319, 328, 330, 330, - 350, 330, 340, 340, 340, 312, 297, 296, 350, 350, - 355, 355, 355, 355, 356, 356, 356, 357, 357, 357, - 357, 358, 358, 358, 358, 359, 295, 359, 359, 360, - 360, 360, 360, 361, 291, 361, 361, 362, 362, 362, - 362, 363, 363, 283, 363, 364, 364, 364, 364, 365, - 279, 365, 365, 366, 366, 366, 366, 367, 367, 367, - 367, 368, 368, 368, 368, 369, 369, 369, 369, 370, - 370, 370, 370, 371, 371, 371, 371, 372, 274, 372, - 372, 373, 373, 373, 373, 374, 374, 374, 374, 375, - - 268, 375, 375, 376, 376, 376, 376, 377, 265, 377, - 377, 378, 378, 378, 378, 379, 263, 379, 379, 380, - 380, 380, 380, 381, 260, 381, 381, 382, 382, 382, - 382, 383, 250, 383, 383, 384, 384, 384, 384, 385, - 242, 385, 385, 386, 386, 386, 386, 387, 239, 387, - 387, 388, 237, 388, 388, 389, 234, 389, 389, 390, - 226, 390, 390, 391, 391, 391, 391, 392, 392, 392, - 392, 393, 212, 393, 393, 394, 394, 394, 394, 395, - 395, 395, 395, 396, 210, 396, 396, 397, 397, 397, - 397, 398, 398, 398, 398, 399, 399, 399, 399, 400, - - 400, 400, 400, 401, 401, 401, 401, 402, 402, 402, - 402, 403, 162, 403, 403, 404, 404, 404, 404, 405, - 405, 405, 405, 406, 108, 406, 406, 407, 407, 407, - 407, 408, 408, 408, 408, 409, 409, 409, 409, 410, - 106, 410, 410, 411, 411, 411, 411, 412, 412, 412, - 412, 413, 69, 413, 413, 414, 414, 414, 414, 415, - 415, 415, 415, 416, 416, 416, 416, 417, 417, 417, - 417, 418, 418, 418, 418, 419, 419, 419, 419, 420, - 420, 420, 420, 421, 421, 421, 421, 422, 422, 422, - 422, 423, 423, 423, 423, 36, 29, 25, 23, 17, - - 6, 5, 4, 3, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 354, 354, 354, 354, 354, 354, 354, 354 + 52, 55, 56, 57, 54, 49, 57, 58, 61, 59, + 74, 62, 61, 60, 62, 71, 56, 64, 64, 71, + 74, 67, 67, 64, 72, 55, 59, 67, 60, 58, + 60, 73, 72, 73, 75, 76, 77, 78, 79, 80, + 79, 78, 80, 81, 82, 84, 85, 81, 75, 76, + 83, 352, 86, 83, 86, 77, 82, 84, 88, 89, + + 88, 90, 91, 90, 85, 87, 87, 87, 87, 93, + 91, 94, 87, 87, 100, 93, 87, 87, 99, 92, + 92, 89, 92, 95, 95, 92, 102, 104, 104, 95, + 102, 103, 94, 104, 105, 100, 99, 101, 101, 101, + 101, 101, 111, 103, 101, 101, 106, 108, 106, 108, + 110, 112, 117, 117, 110, 117, 114, 114, 105, 112, + 119, 122, 111, 113, 113, 113, 113, 113, 114, 122, + 113, 113, 115, 115, 120, 119, 120, 137, 115, 116, + 116, 116, 116, 116, 124, 124, 116, 116, 118, 118, + 118, 118, 118, 125, 137, 118, 118, 121, 121, 121, + + 121, 121, 123, 126, 121, 121, 123, 126, 127, 127, + 131, 125, 129, 129, 127, 132, 135, 136, 129, 140, + 141, 132, 141, 131, 134, 134, 134, 348, 139, 134, + 161, 135, 140, 164, 164, 346, 136, 134, 138, 138, + 138, 138, 138, 142, 142, 138, 138, 139, 161, 142, + 144, 144, 146, 146, 147, 147, 144, 148, 148, 150, + 150, 146, 156, 148, 162, 150, 152, 152, 154, 154, + 147, 236, 152, 236, 154, 165, 157, 157, 159, 159, + 165, 156, 157, 162, 159, 166, 166, 171, 173, 173, + 171, 166, 174, 174, 175, 175, 176, 177, 178, 221, + + 176, 178, 177, 344, 174, 221, 175, 179, 179, 173, + 181, 181, 184, 179, 183, 183, 181, 184, 185, 185, + 185, 185, 185, 186, 186, 185, 185, 191, 191, 186, + 192, 192, 193, 193, 198, 198, 203, 203, 193, 191, + 198, 204, 204, 209, 210, 210, 300, 204, 214, 214, + 215, 215, 342, 209, 216, 216, 217, 217, 218, 218, + 219, 219, 220, 220, 339, 222, 222, 216, 220, 300, + 215, 222, 217, 218, 228, 228, 229, 229, 231, 231, + 233, 244, 229, 234, 231, 234, 234, 337, 233, 233, + 237, 237, 242, 242, 245, 245, 246, 246, 242, 247, + + 247, 248, 249, 249, 335, 244, 245, 260, 260, 248, + 248, 253, 253, 246, 249, 271, 247, 253, 254, 254, + 268, 268, 260, 333, 254, 263, 263, 263, 263, 263, + 271, 278, 263, 263, 272, 272, 268, 273, 277, 274, + 273, 273, 274, 274, 279, 278, 294, 277, 301, 272, + 294, 279, 279, 282, 282, 283, 283, 286, 286, 288, + 288, 295, 295, 286, 332, 288, 291, 291, 330, 282, + 302, 302, 301, 304, 291, 303, 303, 317, 295, 305, + 305, 304, 304, 303, 310, 305, 302, 310, 310, 311, + 311, 312, 318, 329, 312, 312, 319, 317, 319, 319, + + 320, 327, 325, 320, 320, 324, 331, 331, 318, 331, + 351, 329, 341, 341, 341, 323, 322, 315, 351, 351, + 356, 356, 356, 356, 357, 357, 357, 358, 358, 358, + 358, 359, 359, 359, 359, 360, 313, 360, 360, 361, + 361, 361, 361, 362, 298, 362, 362, 363, 363, 363, + 363, 364, 364, 297, 364, 365, 365, 365, 365, 366, + 296, 366, 366, 367, 367, 367, 367, 368, 368, 368, + 368, 369, 369, 369, 369, 370, 370, 370, 370, 371, + 371, 371, 371, 372, 372, 372, 372, 373, 292, 373, + 373, 374, 374, 374, 374, 375, 375, 375, 375, 376, + + 284, 376, 376, 377, 377, 377, 377, 378, 280, 378, + 378, 379, 379, 379, 379, 380, 275, 380, 380, 381, + 381, 381, 381, 382, 269, 382, 382, 383, 383, 383, + 383, 384, 266, 384, 384, 385, 385, 385, 385, 386, + 264, 386, 386, 387, 387, 387, 387, 388, 261, 388, + 388, 389, 251, 389, 389, 390, 243, 390, 390, 391, + 240, 391, 391, 392, 392, 392, 392, 393, 393, 393, + 393, 394, 238, 394, 394, 395, 395, 395, 395, 396, + 396, 396, 396, 397, 235, 397, 397, 398, 398, 398, + 398, 399, 399, 399, 399, 400, 400, 400, 400, 401, + + 401, 401, 401, 402, 402, 402, 402, 403, 403, 403, + 403, 404, 227, 404, 404, 405, 405, 405, 405, 406, + 406, 406, 406, 407, 213, 407, 407, 408, 408, 408, + 408, 409, 409, 409, 409, 410, 410, 410, 410, 411, + 211, 411, 411, 412, 412, 412, 412, 413, 413, 413, + 413, 414, 163, 414, 414, 415, 415, 415, 415, 416, + 416, 416, 416, 417, 417, 417, 417, 418, 418, 418, + 418, 419, 419, 419, 419, 420, 420, 420, 420, 421, + 421, 421, 421, 422, 422, 422, 422, 423, 423, 423, + 423, 424, 424, 424, 424, 109, 107, 70, 36, 29, + + 25, 23, 17, 6, 5, 4, 3, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 355, 355 } ; #define YY_TRAILING_MASK 0x2000 @@ -953,6 +940,7 @@ static void setformat(DiskParseContext *dpc, const char *str) { else if (!strcmp(str,"qcow2")) DSET(dpc,format,FORMAT,str,QCOW2); else if (!strcmp(str,"vhd")) DSET(dpc,format,FORMAT,str,VHD); else if (!strcmp(str,"empty")) DSET(dpc,format,FORMAT,str,EMPTY); + else if (!strcmp(str,"qed")) DSET(dpc,format,FORMAT,str,QED); else xlu__disk_err(dpc,str,"unknown value for format"); } @@ -1001,7 +989,7 @@ static int vdev_and_devtype(DiskParseContext *dpc, char *str) { #define DPC ((DiskParseContext*)yyextra) -#line 1005 "libxlu_disk_l.c" +#line 993 "libxlu_disk_l.c" #define INITIAL 0 #define LEXERR 1 @@ -1031,8 +1019,8 @@ struct yyguts_t size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; - yy_size_t yyleng_r; + int yy_n_chars; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -1084,23 +1072,23 @@ void xlu__disk_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); FILE *xlu__disk_yyget_in (yyscan_t yyscanner ); -void xlu__disk_yyset_in (FILE * in_str ,yyscan_t yyscanner ); +void xlu__disk_yyset_in (FILE * _in_str ,yyscan_t yyscanner ); FILE *xlu__disk_yyget_out (yyscan_t yyscanner ); -void xlu__disk_yyset_out (FILE * out_str ,yyscan_t yyscanner ); +void xlu__disk_yyset_out (FILE * _out_str ,yyscan_t yyscanner ); -yy_size_t xlu__disk_yyget_leng (yyscan_t yyscanner ); + int xlu__disk_yyget_leng (yyscan_t yyscanner ); char *xlu__disk_yyget_text (yyscan_t yyscanner ); int xlu__disk_yyget_lineno (yyscan_t yyscanner ); -void xlu__disk_yyset_lineno (int line_number ,yyscan_t yyscanner ); +void xlu__disk_yyset_lineno (int _line_number ,yyscan_t yyscanner ); int xlu__disk_yyget_column (yyscan_t yyscanner ); -void xlu__disk_yyset_column (int column_no ,yyscan_t yyscanner ); +void xlu__disk_yyset_column (int _column_no ,yyscan_t yyscanner ); /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1114,6 +1102,10 @@ extern int xlu__disk_yywrap (yyscan_t yyscanner ); #endif #endif +#ifndef YY_NO_UNPUT + +#endif + #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); #endif @@ -1147,7 +1139,7 @@ static int input (yyscan_t yyscanner ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#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, @@ -1158,7 +1150,7 @@ static int input (yyscan_t yyscanner ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1171,7 +1163,7 @@ static int input (yyscan_t yyscanner ); else \ { \ errno=0; \ - while ( (result = fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ + while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -1226,7 +1218,7 @@ extern int xlu__disk_yylex (yyscan_t yyscanner); /* 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 \ @@ -1236,9 +1228,9 @@ extern int xlu__disk_yylex (yyscan_t yyscanner); */ 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; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; if ( !yyg->yy_init ) @@ -1274,14 +1266,14 @@ YY_DECL } { -#line 165 "libxlu_disk_l.l" +#line 166 "libxlu_disk_l.l" /*----- the scanner rules which do the parsing -----*/ -#line 1283 "libxlu_disk_l.c" +#line 1275 "libxlu_disk_l.c" - while ( 1 ) /* loops until end-of-file is reached */ + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { yyg->yy_more_len = 0; if ( yyg->yy_more_flag ) @@ -1307,18 +1299,18 @@ 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)] ; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 355 ) + if ( yy_current_state >= 356 ) yy_c = yy_meta[(unsigned int) 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] + (flex_int16_t) yy_c]; *yyg->yy_state_ptr++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 354 ); + while ( yy_current_state != 355 ); yy_find_action: yy_current_state = *--yyg->yy_state_ptr; @@ -1368,135 +1360,135 @@ do_action: /* This label is used only to access EOF actions. */ case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 169 "libxlu_disk_l.l" +#line 170 "libxlu_disk_l.l" { /* ignore whitespace before parameters */ } YY_BREAK /* ordinary parameters setting enums or strings */ case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 173 "libxlu_disk_l.l" +#line 174 "libxlu_disk_l.l" { STRIP(','); setformat(DPC, FROMEQUALS); } YY_BREAK case 3: YY_RULE_SETUP -#line 175 "libxlu_disk_l.l" +#line 176 "libxlu_disk_l.l" { DPC->disk->is_cdrom = 1; } YY_BREAK case 4: YY_RULE_SETUP -#line 176 "libxlu_disk_l.l" +#line 177 "libxlu_disk_l.l" { DPC->disk->is_cdrom = 1; } YY_BREAK case 5: YY_RULE_SETUP -#line 177 "libxlu_disk_l.l" +#line 178 "libxlu_disk_l.l" { DPC->disk->is_cdrom = 0; } YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 178 "libxlu_disk_l.l" +#line 179 "libxlu_disk_l.l" { xlu__disk_err(DPC,yytext,"unknown value for type"); } YY_BREAK case 7: /* rule 7 can match eol */ YY_RULE_SETUP -#line 180 "libxlu_disk_l.l" +#line 181 "libxlu_disk_l.l" { STRIP(','); setaccess(DPC, FROMEQUALS); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP -#line 181 "libxlu_disk_l.l" +#line 182 "libxlu_disk_l.l" { STRIP(','); SAVESTRING("backend", backend_domname, FROMEQUALS); } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP -#line 182 "libxlu_disk_l.l" +#line 183 "libxlu_disk_l.l" { STRIP(','); setbackendtype(DPC,FROMEQUALS); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 184 "libxlu_disk_l.l" +#line 185 "libxlu_disk_l.l" { STRIP(','); SAVESTRING("vdev", vdev, FROMEQUALS); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 185 "libxlu_disk_l.l" +#line 186 "libxlu_disk_l.l" { STRIP(','); SAVESTRING("script", script, FROMEQUALS); } YY_BREAK case 12: YY_RULE_SETUP -#line 186 "libxlu_disk_l.l" +#line 187 "libxlu_disk_l.l" { DPC->disk->direct_io_safe = 1; } YY_BREAK case 13: YY_RULE_SETUP -#line 187 "libxlu_disk_l.l" +#line 188 "libxlu_disk_l.l" { libxl_defbool_set(&DPC->disk->discard_enable, true); } YY_BREAK case 14: YY_RULE_SETUP -#line 188 "libxlu_disk_l.l" +#line 189 "libxlu_disk_l.l" { libxl_defbool_set(&DPC->disk->discard_enable, false); } YY_BREAK /* Note that the COLO configuration settings should be considered unstable. * They may change incompatibly in future versions of Xen. */ case 15: YY_RULE_SETUP -#line 191 "libxlu_disk_l.l" +#line 192 "libxlu_disk_l.l" { libxl_defbool_set(&DPC->disk->colo_enable, true); } YY_BREAK case 16: YY_RULE_SETUP -#line 192 "libxlu_disk_l.l" +#line 193 "libxlu_disk_l.l" { libxl_defbool_set(&DPC->disk->colo_enable, false); } YY_BREAK case 17: /* rule 17 can match eol */ YY_RULE_SETUP -#line 193 "libxlu_disk_l.l" +#line 194 "libxlu_disk_l.l" { STRIP(','); SAVESTRING("colo-host", colo_host, FROMEQUALS); } YY_BREAK case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 194 "libxlu_disk_l.l" +#line 195 "libxlu_disk_l.l" { STRIP(','); setcoloport(DPC, FROMEQUALS); } YY_BREAK case 19: /* rule 19 can match eol */ YY_RULE_SETUP -#line 195 "libxlu_disk_l.l" +#line 196 "libxlu_disk_l.l" { STRIP(','); SAVESTRING("colo-export", colo_export, FROMEQUALS); } YY_BREAK case 20: /* rule 20 can match eol */ YY_RULE_SETUP -#line 196 "libxlu_disk_l.l" +#line 197 "libxlu_disk_l.l" { STRIP(','); SAVESTRING("active-disk", active_disk, FROMEQUALS); } YY_BREAK case 21: /* rule 21 can match eol */ YY_RULE_SETUP -#line 197 "libxlu_disk_l.l" +#line 198 "libxlu_disk_l.l" { STRIP(','); SAVESTRING("hidden-disk", hidden_disk, FROMEQUALS); } YY_BREAK /* the target magic parameter, eats the rest of the string */ case 22: YY_RULE_SETUP -#line 201 "libxlu_disk_l.l" +#line 202 "libxlu_disk_l.l" { STRIP(','); SAVESTRING("target", pdev_path, FROMEQUALS); } YY_BREAK /* unknown parameters */ case 23: /* rule 23 can match eol */ YY_RULE_SETUP -#line 205 "libxlu_disk_l.l" +#line 206 "libxlu_disk_l.l" { xlu__disk_err(DPC,yytext,"unknown parameter"); } YY_BREAK /* deprecated prefixes */ @@ -1504,7 +1496,7 @@ YY_RULE_SETUP * matched the whole string, so these patterns take precedence */ case 24: YY_RULE_SETUP -#line 212 "libxlu_disk_l.l" +#line 213 "libxlu_disk_l.l" { STRIP(':'); DPC->had_depr_prefix=1; DEPRECATE("use `[format=]...,'"); @@ -1513,7 +1505,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 218 "libxlu_disk_l.l" +#line 219 "libxlu_disk_l.l" { char *newscript; STRIP(':'); @@ -1532,12 +1524,12 @@ case 26: yyg->yy_c_buf_p = yy_cp = yy_bp + 8; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 231 "libxlu_disk_l.l" +#line 232 "libxlu_disk_l.l" { DPC->had_depr_prefix=1; DEPRECATE(0); } YY_BREAK case 27: YY_RULE_SETUP -#line 232 "libxlu_disk_l.l" +#line 233 "libxlu_disk_l.l" { DPC->had_depr_prefix=1; DEPRECATE(0); } YY_BREAK case 28: @@ -1545,7 +1537,7 @@ case 28: yyg->yy_c_buf_p = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 233 "libxlu_disk_l.l" +#line 234 "libxlu_disk_l.l" { DPC->had_depr_prefix=1; DEPRECATE(0); } YY_BREAK case 29: @@ -1553,7 +1545,7 @@ case 29: yyg->yy_c_buf_p = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 234 "libxlu_disk_l.l" +#line 235 "libxlu_disk_l.l" { DPC->had_depr_prefix=1; DEPRECATE(0); } YY_BREAK case 30: @@ -1561,7 +1553,7 @@ case 30: yyg->yy_c_buf_p = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 235 "libxlu_disk_l.l" +#line 236 "libxlu_disk_l.l" { DPC->had_depr_prefix=1; DEPRECATE(0); } YY_BREAK case 31: @@ -1569,13 +1561,13 @@ case 31: yyg->yy_c_buf_p = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 236 "libxlu_disk_l.l" +#line 237 "libxlu_disk_l.l" { DPC->had_depr_prefix=1; DEPRECATE(0); } YY_BREAK case 32: /* rule 32 can match eol */ YY_RULE_SETUP -#line 238 "libxlu_disk_l.l" +#line 239 "libxlu_disk_l.l" { xlu__disk_err(DPC,yytext,"unknown deprecated disk prefix"); return 0; @@ -1585,7 +1577,7 @@ YY_RULE_SETUP case 33: /* rule 33 can match eol */ YY_RULE_SETUP -#line 245 "libxlu_disk_l.l" +#line 246 "libxlu_disk_l.l" { STRIP(','); @@ -1614,7 +1606,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 271 "libxlu_disk_l.l" +#line 272 "libxlu_disk_l.l" { BEGIN(LEXERR); yymore(); @@ -1622,17 +1614,17 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 275 "libxlu_disk_l.l" +#line 276 "libxlu_disk_l.l" { xlu__disk_err(DPC,yytext,"bad disk syntax"); return 0; } YY_BREAK case 36: YY_RULE_SETUP -#line 278 "libxlu_disk_l.l" +#line 279 "libxlu_disk_l.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1636 "libxlu_disk_l.c" +#line 1628 "libxlu_disk_l.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(LEXERR): yyterminate(); @@ -1777,9 +1769,9 @@ YY_FATAL_ERROR( "flex scanner jammed" ); static int yy_get_next_buffer (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = yyg->yytext_ptr; - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = yyg->yytext_ptr; + yy_size_t number_to_move, i; int ret_val; if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) @@ -1808,7 +1800,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1861,9 +1853,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((int) (yyg->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 = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); + int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) xlu__disk_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); @@ -1882,8 +1874,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner) static yy_state_type yy_get_previous_state (yyscan_t yyscanner) { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; yy_current_state = yyg->yy_start; @@ -1893,14 +1885,14 @@ static int yy_get_next_buffer (yyscan_t yyscanner) for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->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); while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 355 ) + if ( yy_current_state >= 356 ) yy_c = yy_meta[(unsigned int) 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] + (flex_int16_t) yy_c]; *yyg->yy_state_ptr++ = yy_current_state; } @@ -1914,18 +1906,18 @@ static int yy_get_next_buffer (yyscan_t yyscanner) */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner) { - register int yy_is_jam; + int yy_is_jam; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */ - register YY_CHAR yy_c = 1; + YY_CHAR yy_c = 1; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 355 ) + if ( yy_current_state >= 356 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 354); + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; + yy_is_jam = (yy_current_state == 355); if ( ! yy_is_jam ) *yyg->yy_state_ptr++ = yy_current_state; @@ -1933,6 +1925,10 @@ static int yy_get_next_buffer (yyscan_t yyscanner) return yy_is_jam ? 0 : yy_current_state; } +#ifndef YY_NO_UNPUT + +#endif + #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (yyscan_t yyscanner) @@ -1958,7 +1954,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch ( yy_get_next_buffer( yyscanner ) ) @@ -1982,7 +1978,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) case EOB_ACT_END_OF_FILE: { if ( xlu__disk_yywrap(yyscanner ) ) - return EOF; + return 0; if ( ! yyg->yy_did_buffer_switch_on_eof ) YY_NEW_FILE; @@ -2086,7 +2082,7 @@ static void xlu__disk_yy_load_buffer_state (yyscan_t yyscanner) if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in xlu__disk_yy_create_buffer()" ); - b->yy_buf_size = size; + b->yy_buf_size = (yy_size_t)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. @@ -2238,7 +2234,7 @@ void xlu__disk_yypop_buffer_state (yyscan_t yyscanner) */ static void xlu__disk_yyensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; if (!yyg->yy_buffer_stack) { @@ -2247,7 +2243,7 @@ static void xlu__disk_yyensure_buffer_stack (yyscan_t yyscanner) * 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; + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ yyg->yy_buffer_stack = (struct yy_buffer_state**)xlu__disk_yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) , yyscanner); @@ -2264,7 +2260,7 @@ static void xlu__disk_yyensure_buffer_stack (yyscan_t yyscanner) if (yyg->yy_buffer_stack_top >= (yyg->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 = yyg->yy_buffer_stack_max + grow_size; yyg->yy_buffer_stack = (struct yy_buffer_state**)xlu__disk_yyrealloc @@ -2294,7 +2290,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char * base, yy_size_t size , yyscan 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) xlu__disk_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); if ( ! b ) @@ -2303,7 +2299,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char * base, yy_size_t size , yyscan b->yy_buf_size = 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; @@ -2326,7 +2322,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char * base, yy_size_t size , yyscan YY_BUFFER_STATE xlu__disk_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) { - return xlu__disk_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner); + return xlu__disk_yy_scan_bytes(yystr,(int) strlen(yystr) ,yyscanner); } /** Setup the input buffer state to scan the given bytes. The next call to xlu__disk_yylex() will @@ -2336,7 +2332,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_string (yyconst char * yystr , yyscan_t yyscan * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) +YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; @@ -2344,7 +2340,7 @@ YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yy yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; + n = (yy_size_t) _yybytes_len + 2; buf = (char *) xlu__disk_yyalloc(n ,yyscanner ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in xlu__disk_yy_scan_bytes()" ); @@ -2370,9 +2366,11 @@ YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yy #define YY_EXIT_FAILURE 2 #endif -static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +static void yynoreturn yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) { - (void) fprintf( stderr, "%s\n", msg ); + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } @@ -2451,7 +2449,7 @@ FILE *xlu__disk_yyget_out (yyscan_t yyscanner) /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t xlu__disk_yyget_leng (yyscan_t yyscanner) +int xlu__disk_yyget_leng (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yyleng; @@ -2478,10 +2476,10 @@ void xlu__disk_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) } /** Set the current line number. - * @param line_number + * @param _line_number line number * @param yyscanner The scanner object. */ -void xlu__disk_yyset_lineno (int line_number , yyscan_t yyscanner) +void xlu__disk_yyset_lineno (int _line_number , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; @@ -2489,14 +2487,14 @@ void xlu__disk_yyset_lineno (int line_number , yyscan_t yyscanner) if (! YY_CURRENT_BUFFER ) YY_FATAL_ERROR( "xlu__disk_yyset_lineno called with no buffer" ); - yylineno = line_number; + yylineno = _line_number; } /** Set the current column. - * @param line_number + * @param _column_no column number * @param yyscanner The scanner object. */ -void xlu__disk_yyset_column (int column_no , yyscan_t yyscanner) +void xlu__disk_yyset_column (int _column_no , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; @@ -2504,25 +2502,25 @@ void xlu__disk_yyset_column (int column_no , yyscan_t yyscanner) if (! YY_CURRENT_BUFFER ) YY_FATAL_ERROR( "xlu__disk_yyset_column called with no buffer" ); - yycolumn = column_no; + yycolumn = _column_no; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * @param yyscanner The scanner object. * @see xlu__disk_yy_switch_to_buffer */ -void xlu__disk_yyset_in (FILE * in_str , yyscan_t yyscanner) +void xlu__disk_yyset_in (FILE * _in_str , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - yyin = in_str ; + yyin = _in_str ; } -void xlu__disk_yyset_out (FILE * out_str , yyscan_t yyscanner) +void xlu__disk_yyset_out (FILE * _out_str , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - yyout = out_str ; + yyout = _out_str ; } int xlu__disk_yyget_debug (yyscan_t yyscanner) @@ -2531,10 +2529,10 @@ int xlu__disk_yyget_debug (yyscan_t yyscanner) return yy_flex_debug; } -void xlu__disk_yyset_debug (int bdebug , yyscan_t yyscanner) +void xlu__disk_yyset_debug (int _bdebug , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - yy_flex_debug = bdebug ; + yy_flex_debug = _bdebug ; } /* Accessor methods for yylval and yylloc */ @@ -2610,10 +2608,10 @@ static int yy_init_globals (yyscan_t yyscanner) * This function is called from xlu__disk_yylex_destroy(), so don't allocate here. */ - yyg->yy_buffer_stack = 0; + yyg->yy_buffer_stack = NULL; yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_max = 0; - yyg->yy_c_buf_p = (char *) 0; + yyg->yy_c_buf_p = NULL; yyg->yy_init = 0; yyg->yy_start = 0; @@ -2631,8 +2629,8 @@ static int yy_init_globals (yyscan_t yyscanner) yyin = stdin; yyout = stdout; #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif /* For future reference: Set errno on error, since we are called by @@ -2681,7 +2679,10 @@ int xlu__disk_yylex_destroy (yyscan_t yyscanner) #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner) { - register int i; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2690,7 +2691,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2700,11 +2701,16 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) void *xlu__disk_yyalloc (yy_size_t size , yyscan_t yyscanner) { - return (void *) malloc( size ); + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + return malloc(size); } void *xlu__disk_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) { + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2712,14 +2718,16 @@ void *xlu__disk_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); } void xlu__disk_yyfree (void * ptr , yyscan_t yyscanner) { + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; free( (char *) ptr ); /* see xlu__disk_yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" -#line 277 "libxlu_disk_l.l" +#line 279 "libxlu_disk_l.l" diff --git a/tools/libxl/libxlu_disk_l.h b/tools/libxl/libxlu_disk_l.h index 794274f..abeb9bd 100644 --- a/tools/libxl/libxlu_disk_l.h +++ b/tools/libxl/libxlu_disk_l.h @@ -3,12 +3,9 @@ #define xlu__disk_yyIN_HEADER 1 #line 6 "libxlu_disk_l.h" -#line 31 "libxlu_disk_l.l" #include "libxl_osdeps.h" /* must come before any other headers */ - - -#line 12 "libxlu_disk_l.h" +#line 9 "libxlu_disk_l.h" #define YY_INT_ALIGNED short int @@ -16,8 +13,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 1 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -96,25 +93,13 @@ typedef unsigned int flex_uint32_t; #endif /* ! FLEXINT_H */ -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#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 /* An opaque pointer. */ @@ -169,12 +154,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 @@ -218,13 +203,13 @@ void xlu__disk_yypop_buffer_state (yyscan_t yyscanner ); YY_BUFFER_STATE xlu__disk_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE xlu__disk_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); +YY_BUFFER_STATE xlu__disk_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); void *xlu__disk_yyalloc (yy_size_t ,yyscan_t yyscanner ); void *xlu__disk_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); void xlu__disk_yyfree (void * ,yyscan_t yyscanner ); -#define xlu__disk_yywrap(yyscanner) 1 +#define xlu__disk_yywrap(yyscanner) (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP #define yytext_ptr yytext_r @@ -266,23 +251,23 @@ void xlu__disk_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); FILE *xlu__disk_yyget_in (yyscan_t yyscanner ); -void xlu__disk_yyset_in (FILE * in_str ,yyscan_t yyscanner ); +void xlu__disk_yyset_in (FILE * _in_str ,yyscan_t yyscanner ); FILE *xlu__disk_yyget_out (yyscan_t yyscanner ); -void xlu__disk_yyset_out (FILE * out_str ,yyscan_t yyscanner ); +void xlu__disk_yyset_out (FILE * _out_str ,yyscan_t yyscanner ); -yy_size_t xlu__disk_yyget_leng (yyscan_t yyscanner ); + int xlu__disk_yyget_leng (yyscan_t yyscanner ); char *xlu__disk_yyget_text (yyscan_t yyscanner ); int xlu__disk_yyget_lineno (yyscan_t yyscanner ); -void xlu__disk_yyset_lineno (int line_number ,yyscan_t yyscanner ); +void xlu__disk_yyset_lineno (int _line_number ,yyscan_t yyscanner ); int xlu__disk_yyget_column (yyscan_t yyscanner ); -void xlu__disk_yyset_column (int column_no ,yyscan_t yyscanner ); +void xlu__disk_yyset_column (int _column_no ,yyscan_t yyscanner ); /* Macros after this point can all be overridden by user definitions in * section 1. @@ -348,8 +333,8 @@ extern int xlu__disk_yylex (yyscan_t yyscanner); #undef YY_DECL #endif -#line 277 "libxlu_disk_l.l" +#line 279 "libxlu_disk_l.l" -#line 354 "libxlu_disk_l.h" +#line 339 "libxlu_disk_l.h" #undef xlu__disk_yyIN_HEADER #endif /* xlu__disk_yyHEADER_H */ diff --git a/tools/libxl/libxlu_disk_l.l b/tools/libxl/libxlu_disk_l.l index 5b6db22..f0e6a3b 100644 --- a/tools/libxl/libxlu_disk_l.l +++ b/tools/libxl/libxlu_disk_l.l @@ -102,6 +102,7 @@ static void setformat(DiskParseContext *dpc, const char *str) { else if (!strcmp(str,"qcow2")) DSET(dpc,format,FORMAT,str,QCOW2); else if (!strcmp(str,"vhd")) DSET(dpc,format,FORMAT,str,VHD); else if (!strcmp(str,"empty")) DSET(dpc,format,FORMAT,str,EMPTY); + else if (!strcmp(str,"qed")) DSET(dpc,format,FORMAT,str,QED); else xlu__disk_err(dpc,str,"unknown value for format"); } @@ -209,7 +210,7 @@ target=.* { STRIP(','); SAVESTRING("target", pdev_path, FROMEQUALS); } /* the "/.*" in these patterns ensures that they count as if they * matched the whole string, so these patterns take precedence */ -(raw|qcow2?|vhd):/.* { +(raw|qcow2?|vhd|qed):/.* { STRIP(':'); DPC->had_depr_prefix=1; DEPRECATE("use `[format=]...,'"); setformat(DPC, yytext);
Qdisk supports qcow and qcow2, extend it to also support qed disk format. Signed-off-by: Cédric Bosdonnat <cbosdonnat@suse.com> --- tools/libxl/libxl_device.c | 1 + tools/libxl/libxl_dm.c | 1 + tools/libxl/libxl_types.idl | 1 + tools/libxl/libxl_utils.c | 2 + tools/libxl/libxlu_disk_l.c | 1018 ++++++++++++++++++++++--------------------- tools/libxl/libxlu_disk_l.h | 53 +-- tools/libxl/libxlu_disk_l.l | 3 +- 7 files changed, 539 insertions(+), 540 deletions(-)