mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 02:48:06 +02:00
util/xmlconfig: Drop use of XML_Char in parsing.
We don't define the use-16-bit-unicode defines (and our strings are plain utf8), so it's just char. This will let me use some of this code in the absence of expat. Reviewed-by: Eric Engestrom <eric@engestrom.ch> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6916>
This commit is contained in:
parent
6f3352b6a7
commit
7edb2aed55
1 changed files with 28 additions and 28 deletions
|
|
@ -105,10 +105,10 @@ static int compare(const void *a, const void *b) {
|
|||
}
|
||||
/** \brief Binary search in a string array. */
|
||||
static uint32_t
|
||||
bsearchStr(const XML_Char *name, const XML_Char *elems[], uint32_t count)
|
||||
bsearchStr(const char *name, const char *elems[], uint32_t count)
|
||||
{
|
||||
const XML_Char **found;
|
||||
found = bsearch(&name, elems, count, sizeof(XML_Char *), compare);
|
||||
const char **found;
|
||||
found = bsearch(&name, elems, count, sizeof(char *), compare);
|
||||
if (found)
|
||||
return found - elems;
|
||||
else
|
||||
|
|
@ -125,13 +125,13 @@ bsearchStr(const XML_Char *name, const XML_Char *elems[], uint32_t count)
|
|||
* the integer number. If no number was found then tail points to the
|
||||
* start of the input string. */
|
||||
static int
|
||||
strToI(const XML_Char *string, const XML_Char **tail, int base)
|
||||
strToI(const char *string, const char **tail, int base)
|
||||
{
|
||||
int radix = base == 0 ? 10 : base;
|
||||
int result = 0;
|
||||
int sign = 1;
|
||||
bool numberFound = false;
|
||||
const XML_Char *start = string;
|
||||
const char *start = string;
|
||||
|
||||
assert(radix >= 2 && radix <= 36);
|
||||
|
||||
|
|
@ -187,11 +187,11 @@ strToI(const XML_Char *string, const XML_Char **tail, int base)
|
|||
*
|
||||
* Uses two passes for maximum accuracy. */
|
||||
static float
|
||||
strToF(const XML_Char *string, const XML_Char **tail)
|
||||
strToF(const char *string, const char **tail)
|
||||
{
|
||||
int nDigits = 0, pointPos, exponent;
|
||||
float sign = 1.0f, result = 0.0f, scale;
|
||||
const XML_Char *start = string, *numStart;
|
||||
const char *start = string, *numStart;
|
||||
|
||||
/* sign */
|
||||
if (*string == '-') {
|
||||
|
|
@ -222,7 +222,7 @@ strToF(const XML_Char *string, const XML_Char **tail)
|
|||
}
|
||||
*tail = string;
|
||||
if (*string == 'e' || *string == 'E') {
|
||||
const XML_Char *expTail;
|
||||
const char *expTail;
|
||||
exponent = strToI(string+1, &expTail, 10);
|
||||
if (expTail == string+1)
|
||||
exponent = 0;
|
||||
|
|
@ -251,9 +251,9 @@ strToF(const XML_Char *string, const XML_Char **tail)
|
|||
|
||||
/** \brief Parse a value of a given type. */
|
||||
static unsigned char
|
||||
parseValue(driOptionValue *v, driOptionType type, const XML_Char *string)
|
||||
parseValue(driOptionValue *v, driOptionType type, const char *string)
|
||||
{
|
||||
const XML_Char *tail = NULL;
|
||||
const char *tail = NULL;
|
||||
/* skip leading white-space */
|
||||
string += strspn(string, " \f\n\r\t\v");
|
||||
switch (type) {
|
||||
|
|
@ -296,13 +296,13 @@ parseValue(driOptionValue *v, driOptionType type, const XML_Char *string)
|
|||
|
||||
/** \brief Parse a list of ranges of type info->type. */
|
||||
static unsigned char
|
||||
parseRange(driOptionInfo *info, const XML_Char *string)
|
||||
parseRange(driOptionInfo *info, const char *string)
|
||||
{
|
||||
XML_Char *cp;
|
||||
char *cp;
|
||||
|
||||
XSTRDUP(cp, string);
|
||||
|
||||
XML_Char *sep;
|
||||
char *sep;
|
||||
sep = strchr(cp, ':');
|
||||
if (!sep) {
|
||||
free(cp);
|
||||
|
|
@ -612,7 +612,7 @@ struct OptConfData {
|
|||
enum OptConfElem {
|
||||
OC_APPLICATION = 0, OC_DEVICE, OC_DRICONF, OC_ENGINE, OC_OPTION, OC_COUNT
|
||||
};
|
||||
static const XML_Char *OptConfElems[] = {
|
||||
static const char *OptConfElems[] = {
|
||||
[OC_APPLICATION] = "application",
|
||||
[OC_DEVICE] = "device",
|
||||
[OC_DRICONF] = "driconf",
|
||||
|
|
@ -622,10 +622,10 @@ static const XML_Char *OptConfElems[] = {
|
|||
|
||||
/** \brief Parse attributes of a device element. */
|
||||
static void
|
||||
parseDeviceAttr(struct OptConfData *data, const XML_Char **attr)
|
||||
parseDeviceAttr(struct OptConfData *data, const char **attr)
|
||||
{
|
||||
uint32_t i;
|
||||
const XML_Char *driver = NULL, *screen = NULL, *kernel = NULL;
|
||||
const char *driver = NULL, *screen = NULL, *kernel = NULL;
|
||||
for (i = 0; attr[i]; i += 2) {
|
||||
if (!strcmp(attr[i], "driver")) driver = attr[i+1];
|
||||
else if (!strcmp(attr[i], "screen")) screen = attr[i+1];
|
||||
|
|
@ -648,13 +648,13 @@ parseDeviceAttr(struct OptConfData *data, const XML_Char **attr)
|
|||
|
||||
/** \brief Parse attributes of an application element. */
|
||||
static void
|
||||
parseAppAttr(struct OptConfData *data, const XML_Char **attr)
|
||||
parseAppAttr(struct OptConfData *data, const char **attr)
|
||||
{
|
||||
uint32_t i;
|
||||
const XML_Char *exec = NULL;
|
||||
const XML_Char *sha1 = NULL;
|
||||
const XML_Char *application_name_match = NULL;
|
||||
const XML_Char *application_versions = NULL;
|
||||
const char *exec = NULL;
|
||||
const char *sha1 = NULL;
|
||||
const char *application_name_match = NULL;
|
||||
const char *application_versions = NULL;
|
||||
driOptionInfo version_range = {
|
||||
.type = DRI_INT,
|
||||
};
|
||||
|
|
@ -715,10 +715,10 @@ parseAppAttr(struct OptConfData *data, const XML_Char **attr)
|
|||
|
||||
/** \brief Parse attributes of an application element. */
|
||||
static void
|
||||
parseEngineAttr(struct OptConfData *data, const XML_Char **attr)
|
||||
parseEngineAttr(struct OptConfData *data, const char **attr)
|
||||
{
|
||||
uint32_t i;
|
||||
const XML_Char *engine_name_match = NULL, *engine_versions = NULL;
|
||||
const char *engine_name_match = NULL, *engine_versions = NULL;
|
||||
driOptionInfo version_range = {
|
||||
.type = DRI_INT,
|
||||
};
|
||||
|
|
@ -748,10 +748,10 @@ parseEngineAttr(struct OptConfData *data, const XML_Char **attr)
|
|||
|
||||
/** \brief Parse attributes of an option element. */
|
||||
static void
|
||||
parseOptConfAttr(struct OptConfData *data, const XML_Char **attr)
|
||||
parseOptConfAttr(struct OptConfData *data, const char **attr)
|
||||
{
|
||||
uint32_t i;
|
||||
const XML_Char *name = NULL, *value = NULL;
|
||||
const char *name = NULL, *value = NULL;
|
||||
for (i = 0; attr[i]; i += 2) {
|
||||
if (!strcmp(attr[i], "name")) name = attr[i+1];
|
||||
else if (!strcmp(attr[i], "value")) value = attr[i+1];
|
||||
|
|
@ -780,8 +780,8 @@ parseOptConfAttr(struct OptConfData *data, const XML_Char **attr)
|
|||
|
||||
/** \brief Handler for start element events. */
|
||||
static void
|
||||
optConfStartElem(void *userData, const XML_Char *name,
|
||||
const XML_Char **attr)
|
||||
optConfStartElem(void *userData, const char *name,
|
||||
const char **attr)
|
||||
{
|
||||
struct OptConfData *data = (struct OptConfData *)userData;
|
||||
enum OptConfElem elem = bsearchStr(name, OptConfElems, OC_COUNT);
|
||||
|
|
@ -836,7 +836,7 @@ optConfStartElem(void *userData, const XML_Char *name,
|
|||
|
||||
/** \brief Handler for end element events. */
|
||||
static void
|
||||
optConfEndElem(void *userData, const XML_Char *name)
|
||||
optConfEndElem(void *userData, const char *name)
|
||||
{
|
||||
struct OptConfData *data = (struct OptConfData *)userData;
|
||||
enum OptConfElem elem = bsearchStr(name, OptConfElems, OC_COUNT);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue