[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] libxl: QED disks support



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@xxxxxxxx>
> ---
>  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);

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.