1*4882a593SmuzhiyunFrom 4e1963a812f2c1777ba5d56ea9e939a3e40a0496 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= 3*4882a593Smuzhiyun <zboszor@gmail.com> 4*4882a593SmuzhiyunDate: Sat, 28 Aug 2021 15:38:40 +0200 5*4882a593SmuzhiyunSubject: [PATCH] Fix a build error with Xorg master 6*4882a593SmuzhiyunMIME-Version: 1.0 7*4882a593SmuzhiyunContent-Type: text/plain; charset=UTF-8 8*4882a593SmuzhiyunContent-Transfer-Encoding: 8bit 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunUse xf86ReturnOptValBool() in get_bool_option() instead of 11*4882a593Smuzhiyunoptions[option_index].value.bool to fix a compiler error with 12*4882a593Smuzhiyuncurrent Xorg xserver master branch. 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunAlso use xf86GetOptValInteger() in get_int_option() and 15*4882a593Smuzhiyunxf86GetOptValString() in get_str_option() for consistency. 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunThe change causes a slight performance drop during option parsing 18*4882a593Smuzhiyunbecause the passed-in index_value is no longer used as an index 19*4882a593Smuzhiyuninto the options array. 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunInstead, it's used as a token now for the standard option getter 22*4882a593Smuzhiyunfunctions which works since the index_value to the get_*_option() 23*4882a593Smuzhiyunfunctions are identical to the value of options[n].token in the 24*4882a593Smuzhiyunpassed-in OptionInfoRec array. 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunAlso rename "int option_index" to "int token" for clarity in all 27*4882a593Smuzhiyunthree functions. 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunSigned-off-by: Zoltán Böszörményi <zboszor@gmail.com> 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunDownloaded from upstream commit 32*4882a593Smuzhiyunhttps://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl/-/commit/4e1963a812f2c1777ba5d56ea9e939a3e40a0496 33*4882a593Smuzhiyun 34*4882a593SmuzhiyunSigned-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> 35*4882a593Smuzhiyun--- 36*4882a593Smuzhiyun src/qxl_option_helpers.c | 13 +++++++------ 37*4882a593Smuzhiyun src/qxl_option_helpers.h | 6 +++--- 38*4882a593Smuzhiyun 2 files changed, 10 insertions(+), 9 deletions(-) 39*4882a593Smuzhiyun 40*4882a593Smuzhiyundiff --git a/src/qxl_option_helpers.c b/src/qxl_option_helpers.c 41*4882a593Smuzhiyunindex 2aba677..7707b7c 100644 42*4882a593Smuzhiyun--- a/src/qxl_option_helpers.c 43*4882a593Smuzhiyun+++ b/src/qxl_option_helpers.c 44*4882a593Smuzhiyun@@ -10,31 +10,32 @@ 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #include "qxl_option_helpers.h" 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun-int get_int_option(OptionInfoPtr options, int option_index, 49*4882a593Smuzhiyun+int get_int_option(OptionInfoPtr options, int token, 50*4882a593Smuzhiyun const char *env_name) 51*4882a593Smuzhiyun { 52*4882a593Smuzhiyun+ int value; 53*4882a593Smuzhiyun if (env_name && getenv(env_name)) { 54*4882a593Smuzhiyun return atoi(getenv(env_name)); 55*4882a593Smuzhiyun } 56*4882a593Smuzhiyun- return options[option_index].value.num; 57*4882a593Smuzhiyun+ return xf86GetOptValInteger(options, token, &value) ? value : 0; 58*4882a593Smuzhiyun } 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun-const char *get_str_option(OptionInfoPtr options, int option_index, 61*4882a593Smuzhiyun+const char *get_str_option(OptionInfoPtr options, int token, 62*4882a593Smuzhiyun const char *env_name) 63*4882a593Smuzhiyun { 64*4882a593Smuzhiyun if (getenv(env_name)) { 65*4882a593Smuzhiyun return getenv(env_name); 66*4882a593Smuzhiyun } 67*4882a593Smuzhiyun- return options[option_index].value.str; 68*4882a593Smuzhiyun+ return xf86GetOptValString(options, token); 69*4882a593Smuzhiyun } 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun-int get_bool_option(OptionInfoPtr options, int option_index, 72*4882a593Smuzhiyun+int get_bool_option(OptionInfoPtr options, int token, 73*4882a593Smuzhiyun const char *env_name) 74*4882a593Smuzhiyun { 75*4882a593Smuzhiyun const char* value = getenv(env_name); 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun if (!value) { 78*4882a593Smuzhiyun- return options[option_index].value.bool; 79*4882a593Smuzhiyun+ return xf86ReturnOptValBool(options, token, FALSE); 80*4882a593Smuzhiyun } 81*4882a593Smuzhiyun if (strcmp(value, "0") == 0 || 82*4882a593Smuzhiyun strcasecmp(value, "off") == 0 || 83*4882a593Smuzhiyundiff --git a/src/qxl_option_helpers.h b/src/qxl_option_helpers.h 84*4882a593Smuzhiyunindex 7c54c72..66d0a17 100644 85*4882a593Smuzhiyun--- a/src/qxl_option_helpers.h 86*4882a593Smuzhiyun+++ b/src/qxl_option_helpers.h 87*4882a593Smuzhiyun@@ -4,13 +4,13 @@ 88*4882a593Smuzhiyun #include <xf86Crtc.h> 89*4882a593Smuzhiyun #include <xf86Opt.h> 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun-int get_int_option(OptionInfoPtr options, int option_index, 92*4882a593Smuzhiyun+int get_int_option(OptionInfoPtr options, int token, 93*4882a593Smuzhiyun const char *env_name); 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun-const char *get_str_option(OptionInfoPtr options, int option_index, 96*4882a593Smuzhiyun+const char *get_str_option(OptionInfoPtr options, int token, 97*4882a593Smuzhiyun const char *env_name); 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun-int get_bool_option(OptionInfoPtr options, int option_index, 100*4882a593Smuzhiyun+int get_bool_option(OptionInfoPtr options, int token, 101*4882a593Smuzhiyun const char *env_name); 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun #endif // OPTION_HELPERS_H 104*4882a593Smuzhiyun-- 105*4882a593SmuzhiyunGitLab 106*4882a593Smuzhiyun 107