1#ifdef HAVE_CONFIG_H 2#include "config.h" 3#endif 4 5#include <stdlib.h> 6#include <strings.h> 7 8#include <xf86.h> 9#include <xf86Opt.h> 10 11#include "qxl_option_helpers.h" 12 13int get_int_option(OptionInfoPtr options, int token, 14 const char *env_name) 15{ 16 int value; 17 if (env_name && getenv(env_name)) { 18 return atoi(getenv(env_name)); 19 } 20 return xf86GetOptValInteger(options, token, &value) ? value : 0; 21} 22 23const char *get_str_option(OptionInfoPtr options, int token, 24 const char *env_name) 25{ 26 if (getenv(env_name)) { 27 return getenv(env_name); 28 } 29 return xf86GetOptValString(options, token); 30} 31 32int get_bool_option(OptionInfoPtr options, int token, 33 const char *env_name) 34{ 35 const char* value = getenv(env_name); 36 37 if (!value) { 38 return xf86ReturnOptValBool(options, token, FALSE); 39 } 40 if (strcmp(value, "0") == 0 || 41 strcasecmp(value, "off") == 0 || 42 strcasecmp(value, "false") == 0 || 43 strcasecmp(value, "no") == 0) { 44 return FALSE; 45 } 46 if (strcmp(value, "1") == 0 || 47 strcasecmp(value, "on") == 0 || 48 strcasecmp(value, "true") == 0 || 49 strcasecmp(value, "yes") == 0) { 50 return TRUE; 51 } 52 53 fprintf(stderr, "spice: invalid %s: %s\n", env_name, value); 54 exit(1); 55} 56