#include "proto.h" static char* STD_OPT_STRINGS[] = {"G_OPT_UNDEFINED", "G_OPT_DB_SQL", "G_OPT_DB_WHERE", "G_OPT_DB_TABLE", "G_OPT_DB_DRIVER", "G_OPT_DB_DATABASE", "G_OPT_DB_SCHEMA", "G_OPT_DB_COLUMN", "G_OPT_DB_COLUMNS", "G_OPT_DB_KEYCOLUMN", "G_OPT_I_GROUP", "G_OPT_I_SUBGROUP", "G_OPT_MEMORYMB", "G_OPT_R_INPUT", "G_OPT_R_INPUTS", "G_OPT_R_OUTPUT", "G_OPT_R_OUTPUTS", "G_OPT_R_MAP", "G_OPT_R_MAPS", "G_OPT_R_BASE", "G_OPT_R_COVER", "G_OPT_R_ELEV", "G_OPT_R_ELEVS", "G_OPT_R_TYPE", "G_OPT_R_INTERP_TYPE", "G_OPT_R_BASENAME_INPUT", "G_OPT_R_BASENAME_OUTPUT", "G_OPT_R3_INPUT", "G_OPT_R3_INPUTS", "G_OPT_R3_OUTPUT", "G_OPT_R3_MAP", "G_OPT_R3_MAPS", "G_OPT_R3_TYPE", "G_OPT_R3_PRECISION", "G_OPT_R3_TILE_DIMENSION", "G_OPT_R3_COMPRESSION", "G_OPT_V_INPUT", "G_OPT_V_INPUTS", "G_OPT_V_OUTPUT", "G_OPT_V_MAP", "G_OPT_V_MAPS", "G_OPT_V_TYPE", "G_OPT_V3_TYPE", "G_OPT_V_FIELD", "G_OPT_V_FIELD_ALL", "G_OPT_V_CAT", "G_OPT_V_CATS", "G_OPT_V_ID", "G_OPT_V_IDS", "G_OPT_F_INPUT", "G_OPT_F_BIN_INPUT", "G_OPT_F_OUTPUT", "G_OPT_F_SEP", "G_OPT_C", "G_OPT_CN", "G_OPT_M_UNITS", "G_OPT_M_DATATYPE", "G_OPT_M_MAPSET", "G_OPT_M_LOCATION", "G_OPT_M_DBASE", "G_OPT_M_COORDS", "G_OPT_M_COLR", "G_OPT_M_DIR", "G_OPT_M_REGION", "G_OPT_M_NULL_VALUE", "G_OPT_M_NPROCS", "G_OPT_STDS_INPUT", "G_OPT_STDS_INPUTS", "G_OPT_STDS_OUTPUT", "G_OPT_STRDS_INPUT", "G_OPT_STRDS_INPUTS", "G_OPT_STRDS_OUTPUT", "G_OPT_STRDS_OUTPUTS", "G_OPT_STR3DS_INPUT", "G_OPT_STR3DS_INPUTS", "G_OPT_STR3DS_OUTPUT", "G_OPT_STVDS_INPUT", "G_OPT_STVDS_INPUTS", "G_OPT_STVDS_OUTPUT", "G_OPT_MAP_INPUT", "G_OPT_MAP_INPUTS", "G_OPT_STDS_TYPE", "G_OPT_MAP_TYPE", "G_OPT_T_TYPE", "G_OPT_T_WHERE", "G_OPT_T_SAMPLE"}; struct Option *define_standard_option(const char *name) { int key; size_t i; struct Option *opt; key = G_OPT_UNDEFINED; for (i = 1; key == G_OPT_UNDEFINED && i < (sizeof(STD_OPT_STRINGS) / sizeof(char *)); i++) { if (G_strcasecmp(name, STD_OPT_STRINGS[i]) == 0) key = i; } if (key == G_OPT_UNDEFINED) opt = G_define_option(); else opt = G_define_standard_option(key); return opt; }