[Spice-devel] [PATCH qxl] spiceqxl: Recognize the same set of boolean values as in xorg.conf.
Christophe Fergeau
cfergeau at redhat.com
Mon Aug 10 05:34:14 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
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20150810/ac9c4eb4/attachment.sig>
More information about the Spice-devel
mailing list