[Spice-devel] [PATCH qxl] spiceqxl: Recognize the same set of boolean values as in xorg.conf.
Frediano Ziglio
fziglio at redhat.com
Mon Aug 10 05:43:12 PDT 2015
>
> Hey,
>
> Looks good to me, ACK.
>
> There is a slight change of behaviour as before any != 0 values set for
> the environment variable would return true, but I don't think this
> matters
>
> Christophe
>
> On Mon, Jun 08, 2015 at 05:48:03PM +0200, Francois Gouget wrote:
> > Report an error if an invalid boolean value is used, just like for other
> > options.
> > ---
> >
> > This seems simple enough and may avoid confusion.
> >
> > src/qxl_option_helpers.c | 27 ++++++++++++++++++++-------
> > 1 file changed, 20 insertions(+), 7 deletions(-)
> >
> > diff --git a/src/qxl_option_helpers.c b/src/qxl_option_helpers.c
> > index 8801b53..c9ad726 100644
> > --- a/src/qxl_option_helpers.c
> > +++ b/src/qxl_option_helpers.c
> > @@ -3,6 +3,7 @@
> > #endif
> >
> > #include <stdlib.h>
> > +#include <strings.h>
> >
> > #include <xf86.h>
> > #include <xf86Opt.h>
> > @@ -30,12 +31,24 @@ const char *get_str_option(OptionInfoPtr options, int
> > option_index,
> > int get_bool_option(OptionInfoPtr options, int option_index,
> > const char *env_name)
> > {
> > - if (getenv(env_name)) {
> > - /* we don't support the whole range of boolean true and
> > - * false values documented in man xorg.conf, just the c
> > - * convention - 0 is false, anything else is true, so
> > - * just like a number. */
> > - return !!atoi(getenv(env_name));
> > + const char* value = getenv(env_name);
> > +
> > + if (!value) {
> > + return options[option_index].value.bool;
> > + }
> > + if (strcmp(value, "1") == 0 ||
> > + strcasecmp(value, "on") == 0 ||
> > + strcasecmp(value, "true") == 0 ||
> > + strcasecmp(value, "yes") == 0) {
> > + return TRUE;
> > }
> > - return options[option_index].value.bool;
> > + if (strcmp(value, "0") == 0 ||
> > + strcasecmp(value, "off") == 0 ||
> > + strcasecmp(value, "false") == 0 ||
> > + strcasecmp(value, "no") == 0) {
> > + return FALSE;
> > + }
> > +
> > + fprintf(stderr, "spice: invalid %s: %s\n", env_name, value);
> > + exit(1);
> > }
> > --
> > 2.1.4
> >
Is it worth splitting the patch in two, one for extended values and the other for not accepting invalid values?
Frediano
More information about the Spice-devel
mailing list