| Index: third_party/libxml/src/xmlschemastypes.c
|
| diff --git a/third_party/libxml/src/xmlschemastypes.c b/third_party/libxml/src/xmlschemastypes.c
|
| index d0ee8a238158e1cb45964d89acb7cc50c0d54959..ff64f50a6485747f340bc290eb10458b4df4a2cb 100644
|
| --- a/third_party/libxml/src/xmlschemastypes.c
|
| +++ b/third_party/libxml/src/xmlschemastypes.c
|
| @@ -40,7 +40,7 @@ extern double xmlXPathPINF;
|
| extern double xmlXPathNINF;
|
| #endif
|
|
|
| -#define TODO \
|
| +#define TODO \
|
| xmlGenericError(xmlGenericErrorContext, \
|
| "Unimplemented block at %s:%d\n", \
|
| __FILE__, __LINE__);
|
| @@ -75,7 +75,7 @@ typedef struct _xmlSchemaValDuration xmlSchemaValDuration;
|
| typedef xmlSchemaValDuration *xmlSchemaValDurationPtr;
|
| struct _xmlSchemaValDuration {
|
| long mon; /* mon stores years also */
|
| - long day;
|
| + long day;
|
| double sec; /* sec stores min and hour also */
|
| };
|
|
|
| @@ -189,7 +189,7 @@ static xmlSchemaTypePtr xmlSchemaTypeNmtokensDef = NULL;
|
|
|
| /************************************************************************
|
| * *
|
| - * Datatype error handlers *
|
| + * Datatype error handlers *
|
| * *
|
| ************************************************************************/
|
| /**
|
| @@ -206,7 +206,7 @@ xmlSchemaTypeErrMemory(xmlNodePtr node, const char *extra)
|
|
|
| /************************************************************************
|
| * *
|
| - * Base types support *
|
| + * Base types support *
|
| * *
|
| ************************************************************************/
|
|
|
| @@ -242,6 +242,10 @@ xmlSchemaNewMinLengthFacet(int value)
|
| }
|
| ret->type = XML_SCHEMA_FACET_MINLENGTH;
|
| ret->val = xmlSchemaNewValue(XML_SCHEMAS_NNINTEGER);
|
| + if (ret->val == NULL) {
|
| + xmlFree(ret);
|
| + return(NULL);
|
| + }
|
| ret->val->value.decimal.lo = value;
|
| return (ret);
|
| }
|
| @@ -254,7 +258,7 @@ xmlSchemaNewMinLengthFacet(int value)
|
| * Initialize one primitive built-in type
|
| */
|
| static xmlSchemaTypePtr
|
| -xmlSchemaInitBasicType(const char *name, xmlSchemaValType type,
|
| +xmlSchemaInitBasicType(const char *name, xmlSchemaValType type,
|
| xmlSchemaTypePtr baseType) {
|
| xmlSchemaTypePtr ret;
|
|
|
| @@ -267,31 +271,31 @@ xmlSchemaInitBasicType(const char *name, xmlSchemaValType type,
|
| ret->name = (const xmlChar *)name;
|
| ret->targetNamespace = XML_SCHEMAS_NAMESPACE_NAME;
|
| ret->type = XML_SCHEMA_TYPE_BASIC;
|
| - ret->baseType = baseType;
|
| + ret->baseType = baseType;
|
| ret->contentType = XML_SCHEMA_CONTENT_BASIC;
|
| /*
|
| * Primitive types.
|
| */
|
| - switch (type) {
|
| - case XML_SCHEMAS_STRING:
|
| - case XML_SCHEMAS_DECIMAL:
|
| - case XML_SCHEMAS_DATE:
|
| - case XML_SCHEMAS_DATETIME:
|
| - case XML_SCHEMAS_TIME:
|
| - case XML_SCHEMAS_GYEAR:
|
| - case XML_SCHEMAS_GYEARMONTH:
|
| - case XML_SCHEMAS_GMONTH:
|
| - case XML_SCHEMAS_GMONTHDAY:
|
| - case XML_SCHEMAS_GDAY:
|
| - case XML_SCHEMAS_DURATION:
|
| - case XML_SCHEMAS_FLOAT:
|
| - case XML_SCHEMAS_DOUBLE:
|
| - case XML_SCHEMAS_BOOLEAN:
|
| - case XML_SCHEMAS_ANYURI:
|
| - case XML_SCHEMAS_HEXBINARY:
|
| - case XML_SCHEMAS_BASE64BINARY:
|
| - case XML_SCHEMAS_QNAME:
|
| - case XML_SCHEMAS_NOTATION:
|
| + switch (type) {
|
| + case XML_SCHEMAS_STRING:
|
| + case XML_SCHEMAS_DECIMAL:
|
| + case XML_SCHEMAS_DATE:
|
| + case XML_SCHEMAS_DATETIME:
|
| + case XML_SCHEMAS_TIME:
|
| + case XML_SCHEMAS_GYEAR:
|
| + case XML_SCHEMAS_GYEARMONTH:
|
| + case XML_SCHEMAS_GMONTH:
|
| + case XML_SCHEMAS_GMONTHDAY:
|
| + case XML_SCHEMAS_GDAY:
|
| + case XML_SCHEMAS_DURATION:
|
| + case XML_SCHEMAS_FLOAT:
|
| + case XML_SCHEMAS_DOUBLE:
|
| + case XML_SCHEMAS_BOOLEAN:
|
| + case XML_SCHEMAS_ANYURI:
|
| + case XML_SCHEMAS_HEXBINARY:
|
| + case XML_SCHEMAS_BASE64BINARY:
|
| + case XML_SCHEMAS_QNAME:
|
| + case XML_SCHEMAS_NOTATION:
|
| ret->flags |= XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE;
|
| break;
|
| default:
|
| @@ -309,7 +313,7 @@ xmlSchemaInitBasicType(const char *name, xmlSchemaValType type,
|
| case XML_SCHEMAS_ENTITIES:
|
| ret->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
|
| ret->facets = xmlSchemaNewMinLengthFacet(1);
|
| - ret->flags |= XML_SCHEMAS_TYPE_HAS_FACETS;
|
| + ret->flags |= XML_SCHEMAS_TYPE_HAS_FACETS;
|
| break;
|
| default:
|
| ret->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
|
| @@ -390,19 +394,19 @@ xmlSchemaInitTypes(void)
|
| return;
|
| xmlSchemaTypesBank = xmlHashCreate(40);
|
|
|
| -
|
| +
|
| /*
|
| * 3.4.7 Built-in Complex Type Definition
|
| */
|
| xmlSchemaTypeAnyTypeDef = xmlSchemaInitBasicType("anyType",
|
| - XML_SCHEMAS_ANYTYPE,
|
| + XML_SCHEMAS_ANYTYPE,
|
| NULL);
|
| xmlSchemaTypeAnyTypeDef->baseType = xmlSchemaTypeAnyTypeDef;
|
| xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
|
| /*
|
| * Init the content type.
|
| */
|
| - xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
|
| + xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
|
| {
|
| xmlSchemaParticlePtr particle;
|
| xmlSchemaModelGroupPtr sequence;
|
| @@ -420,7 +424,7 @@ xmlSchemaInitTypes(void)
|
| return;
|
| }
|
| memset(sequence, 0, sizeof(xmlSchemaModelGroup));
|
| - sequence->type = XML_SCHEMA_TYPE_SEQUENCE;
|
| + sequence->type = XML_SCHEMA_TYPE_SEQUENCE;
|
| particle->children = (xmlSchemaTreeItemPtr) sequence;
|
| /* Second particle. */
|
| particle = xmlSchemaAddParticle();
|
| @@ -437,9 +441,9 @@ xmlSchemaInitTypes(void)
|
| }
|
| memset(wild, 0, sizeof(xmlSchemaWildcard));
|
| wild->type = XML_SCHEMA_TYPE_ANY;
|
| - wild->any = 1;
|
| - wild->processContents = XML_SCHEMAS_ANY_LAX;
|
| - particle->children = (xmlSchemaTreeItemPtr) wild;
|
| + wild->any = 1;
|
| + wild->processContents = XML_SCHEMAS_ANY_LAX;
|
| + particle->children = (xmlSchemaTreeItemPtr) wild;
|
| /*
|
| * Create the attribute wildcard.
|
| */
|
| @@ -451,10 +455,10 @@ xmlSchemaInitTypes(void)
|
| }
|
| memset(wild, 0, sizeof(xmlSchemaWildcard));
|
| wild->any = 1;
|
| - wild->processContents = XML_SCHEMAS_ANY_LAX;
|
| + wild->processContents = XML_SCHEMAS_ANY_LAX;
|
| xmlSchemaTypeAnyTypeDef->attributeWildcard = wild;
|
| }
|
| - xmlSchemaTypeAnySimpleTypeDef = xmlSchemaInitBasicType("anySimpleType",
|
| + xmlSchemaTypeAnySimpleTypeDef = xmlSchemaInitBasicType("anySimpleType",
|
| XML_SCHEMAS_ANYSIMPLETYPE,
|
| xmlSchemaTypeAnyTypeDef);
|
| /*
|
| @@ -513,7 +517,7 @@ xmlSchemaInitTypes(void)
|
| xmlSchemaTypeAnySimpleTypeDef);
|
| xmlSchemaTypeNotationDef = xmlSchemaInitBasicType("NOTATION",
|
| XML_SCHEMAS_NOTATION,
|
| - xmlSchemaTypeAnySimpleTypeDef);
|
| + xmlSchemaTypeAnySimpleTypeDef);
|
| xmlSchemaTypeQNameDef = xmlSchemaInitBasicType("QName",
|
| XML_SCHEMAS_QNAME,
|
| xmlSchemaTypeAnySimpleTypeDef);
|
| @@ -583,7 +587,7 @@ xmlSchemaInitTypes(void)
|
| xmlSchemaTypeNCNameDef);
|
| xmlSchemaTypeIdrefDef = xmlSchemaInitBasicType("IDREF",
|
| XML_SCHEMAS_IDREF,
|
| - xmlSchemaTypeNCNameDef);
|
| + xmlSchemaTypeNCNameDef);
|
| xmlSchemaTypeEntityDef = xmlSchemaInitBasicType("ENTITY",
|
| XML_SCHEMAS_ENTITY,
|
| xmlSchemaTypeNCNameDef);
|
| @@ -615,7 +619,7 @@ xmlSchemaInitTypes(void)
|
| *
|
| * Cleanup the default XML Schemas type library
|
| */
|
| -void
|
| +void
|
| xmlSchemaCleanupTypes(void) {
|
| if (xmlSchemaTypesInitialized == 0)
|
| return;
|
| @@ -629,13 +633,13 @@ xmlSchemaCleanupTypes(void) {
|
| /* Content type. */
|
| particle = (xmlSchemaParticlePtr) xmlSchemaTypeAnyTypeDef->subtypes;
|
| /* Wildcard. */
|
| - xmlSchemaFreeWildcard((xmlSchemaWildcardPtr)
|
| + xmlSchemaFreeWildcard((xmlSchemaWildcardPtr)
|
| particle->children->children->children);
|
| xmlFree((xmlSchemaParticlePtr) particle->children->children);
|
| /* Sequence model group. */
|
| xmlFree((xmlSchemaModelGroupPtr) particle->children);
|
| xmlFree((xmlSchemaParticlePtr) particle);
|
| - xmlSchemaTypeAnyTypeDef->subtypes = NULL;
|
| + xmlSchemaTypeAnyTypeDef->subtypes = NULL;
|
| }
|
| xmlHashFree(xmlSchemaTypesBank, (xmlHashDeallocator) xmlSchemaFreeType);
|
| xmlSchemaTypesInitialized = 0;
|
| @@ -665,12 +669,12 @@ xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, int facetType)
|
| (facetType == XML_SCHEMA_FACET_WHITESPACE))
|
| return (1);
|
| else
|
| - return (0);
|
| + return (0);
|
| case XML_SCHEMAS_STRING:
|
| case XML_SCHEMAS_NOTATION:
|
| case XML_SCHEMAS_QNAME:
|
| - case XML_SCHEMAS_ANYURI:
|
| - case XML_SCHEMAS_BASE64BINARY:
|
| + case XML_SCHEMAS_ANYURI:
|
| + case XML_SCHEMAS_BASE64BINARY:
|
| case XML_SCHEMAS_HEXBINARY:
|
| if ((facetType == XML_SCHEMA_FACET_LENGTH) ||
|
| (facetType == XML_SCHEMA_FACET_MINLENGTH) ||
|
| @@ -693,12 +697,12 @@ xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, int facetType)
|
| (facetType == XML_SCHEMA_FACET_MINEXCLUSIVE))
|
| return (1);
|
| else
|
| - return (0);
|
| + return (0);
|
| case XML_SCHEMAS_TIME:
|
| - case XML_SCHEMAS_GDAY:
|
| + case XML_SCHEMAS_GDAY:
|
| case XML_SCHEMAS_GMONTH:
|
| - case XML_SCHEMAS_GMONTHDAY:
|
| - case XML_SCHEMAS_GYEAR:
|
| + case XML_SCHEMAS_GMONTHDAY:
|
| + case XML_SCHEMAS_GYEAR:
|
| case XML_SCHEMAS_GYEARMONTH:
|
| case XML_SCHEMAS_DATE:
|
| case XML_SCHEMAS_DATETIME:
|
| @@ -714,7 +718,7 @@ xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, int facetType)
|
| (facetType == XML_SCHEMA_FACET_MINEXCLUSIVE))
|
| return (1);
|
| else
|
| - return (0);
|
| + return (0);
|
| default:
|
| break;
|
| }
|
| @@ -736,7 +740,7 @@ xmlSchemaGetBuiltInType(xmlSchemaValType type)
|
| if (xmlSchemaTypesInitialized == 0)
|
| xmlSchemaInitTypes();
|
| switch (type) {
|
| -
|
| +
|
| case XML_SCHEMAS_ANYSIMPLETYPE:
|
| return (xmlSchemaTypeAnySimpleTypeDef);
|
| case XML_SCHEMAS_STRING:
|
| @@ -752,7 +756,7 @@ xmlSchemaGetBuiltInType(xmlSchemaValType type)
|
| case XML_SCHEMAS_GMONTH:
|
| return (xmlSchemaTypeGMonthDef);
|
| case XML_SCHEMAS_GMONTHDAY:
|
| - return (xmlSchemaTypeGMonthDayDef);
|
| + return (xmlSchemaTypeGMonthDayDef);
|
| case XML_SCHEMAS_GYEAR:
|
| return (xmlSchemaTypeGYearDef);
|
| case XML_SCHEMAS_GYEARMONTH:
|
| @@ -828,7 +832,7 @@ xmlSchemaGetBuiltInType(xmlSchemaValType type)
|
| case XML_SCHEMAS_BASE64BINARY:
|
| return (xmlSchemaTypeBase64BinaryDef);
|
| case XML_SCHEMAS_ANYTYPE:
|
| - return (xmlSchemaTypeAnyTypeDef);
|
| + return (xmlSchemaTypeAnyTypeDef);
|
| default:
|
| return (NULL);
|
| }
|
| @@ -880,7 +884,7 @@ xmlSchemaValueGetNext(xmlSchemaValPtr cur) {
|
| */
|
| const xmlChar *
|
| xmlSchemaValueGetAsString(xmlSchemaValPtr val)
|
| -{
|
| +{
|
| if (val == NULL)
|
| return (NULL);
|
| switch (val->type) {
|
| @@ -913,7 +917,7 @@ xmlSchemaValueGetAsString(xmlSchemaValPtr val)
|
| */
|
| int
|
| xmlSchemaValueGetAsBoolean(xmlSchemaValPtr val)
|
| -{
|
| +{
|
| if ((val == NULL) || (val->type != XML_SCHEMAS_BOOLEAN))
|
| return (0);
|
| return (val->value.b);
|
| @@ -924,8 +928,8 @@ xmlSchemaValueGetAsBoolean(xmlSchemaValPtr val)
|
| * @type: the value type
|
| * @value: the value
|
| *
|
| - * Allocate a new simple type value. The type can be
|
| - * of XML_SCHEMAS_STRING.
|
| + * Allocate a new simple type value. The type can be
|
| + * of XML_SCHEMAS_STRING.
|
| * WARNING: This one is intended to be expanded for other
|
| * string based types. We need this for anySimpleType as well.
|
| * The given value is consumed and freed with the struct.
|
| @@ -1007,11 +1011,11 @@ xmlSchemaNewQNameValue(const xmlChar *namespaceName,
|
| *
|
| * Cleanup the default XML Schemas type library
|
| */
|
| -void
|
| +void
|
| xmlSchemaFreeValue(xmlSchemaValPtr value) {
|
| xmlSchemaValPtr prev;
|
|
|
| - while (value != NULL) {
|
| + while (value != NULL) {
|
| switch (value->type) {
|
| case XML_SCHEMAS_STRING:
|
| case XML_SCHEMAS_NORMSTRING:
|
| @@ -1025,7 +1029,7 @@ xmlSchemaFreeValue(xmlSchemaValPtr value) {
|
| case XML_SCHEMAS_IDREF:
|
| case XML_SCHEMAS_IDREFS:
|
| case XML_SCHEMAS_ENTITY:
|
| - case XML_SCHEMAS_ENTITIES:
|
| + case XML_SCHEMAS_ENTITIES:
|
| case XML_SCHEMAS_ANYURI:
|
| case XML_SCHEMAS_ANYSIMPLETYPE:
|
| if (value->value.str != NULL)
|
| @@ -1052,7 +1056,7 @@ xmlSchemaFreeValue(xmlSchemaValPtr value) {
|
| prev = value;
|
| value = value->next;
|
| xmlFree(prev);
|
| - }
|
| + }
|
| }
|
|
|
| /**
|
| @@ -1088,9 +1092,9 @@ xmlSchemaGetBuiltInListSimpleTypeItemType(xmlSchemaTypePtr type)
|
| if ((type == NULL) || (type->type != XML_SCHEMA_TYPE_BASIC))
|
| return (NULL);
|
| switch (type->builtInType) {
|
| - case XML_SCHEMAS_NMTOKENS:
|
| + case XML_SCHEMAS_NMTOKENS:
|
| return (xmlSchemaTypeNmtokenDef );
|
| - case XML_SCHEMAS_IDREFS:
|
| + case XML_SCHEMAS_IDREFS:
|
| return (xmlSchemaTypeIdrefDef);
|
| case XML_SCHEMAS_ENTITIES:
|
| return (xmlSchemaTypeEntityDef);
|
| @@ -1342,13 +1346,13 @@ _xmlSchemaParseGDay (xmlSchemaValDatePtr dt, const xmlChar **str) {
|
| */
|
| static int
|
| _xmlSchemaParseTime (xmlSchemaValDatePtr dt, const xmlChar **str) {
|
| - const xmlChar *cur = *str;
|
| + const xmlChar *cur = *str;
|
| int ret = 0;
|
| int value = 0;
|
|
|
| PARSE_2_DIGITS(value, cur, ret);
|
| if (ret != 0)
|
| - return ret;
|
| + return ret;
|
| if (*cur != ':')
|
| return 1;
|
| if (!VALID_HOUR(value))
|
| @@ -1614,7 +1618,7 @@ xmlSchemaValidateDates (xmlSchemaValType type,
|
| const xmlChar *rewnd = cur;
|
| cur++;
|
|
|
| - ret = _xmlSchemaParseGDay(&(dt->value.date), &cur);
|
| + ret = _xmlSchemaParseGDay(&(dt->value.date), &cur);
|
| if ((ret == 0) && ((*cur == 0) || (*cur != ':'))) {
|
|
|
| /*
|
| @@ -1852,7 +1856,7 @@ xmlSchemaValidateDuration (xmlSchemaTypePtr type ATTRIBUTE_UNUSED,
|
| }
|
| cur++;
|
| if (collapse)
|
| - while IS_WSP_BLANK_CH(*cur) cur++;
|
| + while IS_WSP_BLANK_CH(*cur) cur++;
|
| }
|
|
|
| if (isneg) {
|
| @@ -1908,13 +1912,13 @@ xmlSchemaStrip(const xmlChar *value) {
|
| */
|
| xmlChar *
|
| xmlSchemaWhiteSpaceReplace(const xmlChar *value) {
|
| - const xmlChar *cur = value;
|
| - xmlChar *ret = NULL, *mcur;
|
| + const xmlChar *cur = value;
|
| + xmlChar *ret = NULL, *mcur;
|
|
|
| - if (value == NULL)
|
| + if (value == NULL)
|
| return(NULL);
|
| -
|
| - while ((*cur != 0) &&
|
| +
|
| + while ((*cur != 0) &&
|
| (((*cur) != 0xd) && ((*cur) != 0x9) && ((*cur) != 0xa))) {
|
| cur++;
|
| }
|
| @@ -1927,7 +1931,7 @@ xmlSchemaWhiteSpaceReplace(const xmlChar *value) {
|
| if ( ((*mcur) == 0xd) || ((*mcur) == 0x9) || ((*mcur) == 0xa) )
|
| *mcur = ' ';
|
| mcur++;
|
| - } while (*mcur != 0);
|
| + } while (*mcur != 0);
|
| return(ret);
|
| }
|
|
|
| @@ -2072,7 +2076,7 @@ xmlSchemaParseUInt(const xmlChar **str, unsigned long *llo,
|
| const xmlChar *tmp, *cur = *str;
|
| int ret = 0, i = 0;
|
|
|
| - if (!((*cur >= '0') && (*cur <= '9')))
|
| + if (!((*cur >= '0') && (*cur <= '9')))
|
| return(-2);
|
|
|
| while (*cur == '0') { /* ignore leading zeroes */
|
| @@ -2148,7 +2152,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| if ((flags == 0) && (value != NULL)) {
|
|
|
| if ((type->builtInType != XML_SCHEMAS_STRING) &&
|
| - (type->builtInType != XML_SCHEMAS_ANYTYPE) &&
|
| + (type->builtInType != XML_SCHEMAS_ANYTYPE) &&
|
| (type->builtInType != XML_SCHEMAS_ANYSIMPLETYPE)) {
|
| if (type->builtInType == XML_SCHEMAS_NORMSTRING)
|
| norm = xmlSchemaWhiteSpaceReplace(value);
|
| @@ -2160,7 +2164,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| }
|
|
|
| switch (type->builtInType) {
|
| - case XML_SCHEMAS_UNKNOWN:
|
| + case XML_SCHEMAS_UNKNOWN:
|
| goto error;
|
| case XML_SCHEMAS_ANYTYPE:
|
| case XML_SCHEMAS_ANYSIMPLETYPE:
|
| @@ -2171,10 +2175,10 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| *val = v;
|
| } else {
|
| goto error;
|
| - }
|
| + }
|
| }
|
| goto return0;
|
| - case XML_SCHEMAS_STRING:
|
| + case XML_SCHEMAS_STRING:
|
| if (! normOnTheFly) {
|
| const xmlChar *cur = value;
|
|
|
| @@ -2253,7 +2257,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| const xmlChar *cur = value;
|
| unsigned int len, neg, integ, hasLeadingZeroes;
|
| xmlChar cval[25];
|
| - xmlChar *cptr = cval;
|
| + xmlChar *cptr = cval;
|
|
|
| if ((cur == NULL) || (*cur == 0))
|
| goto return1;
|
| @@ -2327,10 +2331,10 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| v = xmlSchemaNewValue(XML_SCHEMAS_DECIMAL);
|
| if (v != NULL) {
|
| /*
|
| - * Now evaluate the significant digits of the number
|
| - */
|
| + * Now evaluate the significant digits of the number
|
| + */
|
| if (len != 0) {
|
| -
|
| +
|
| if (integ != ~0u) {
|
| /*
|
| * Get rid of trailing zeroes in the
|
| @@ -2389,9 +2393,11 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| normOnTheFly);
|
| break;
|
| case XML_SCHEMAS_FLOAT:
|
| - case XML_SCHEMAS_DOUBLE:{
|
| + case XML_SCHEMAS_DOUBLE: {
|
| const xmlChar *cur = value;
|
| int neg = 0;
|
| + int digits_before = 0;
|
| + int digits_after = 0;
|
|
|
| if (normOnTheFly)
|
| while IS_WSP_BLANK_CH(*cur) cur++;
|
| @@ -2464,12 +2470,17 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| goto return1;
|
| while ((*cur >= '0') && (*cur <= '9')) {
|
| cur++;
|
| + digits_before++;
|
| }
|
| if (*cur == '.') {
|
| cur++;
|
| - while ((*cur >= '0') && (*cur <= '9'))
|
| + while ((*cur >= '0') && (*cur <= '9')) {
|
| cur++;
|
| + digits_after++;
|
| + }
|
| }
|
| + if ((digits_before == 0) && (digits_after == 0))
|
| + goto return1;
|
| if ((*cur == 'e') || (*cur == 'E')) {
|
| cur++;
|
| if ((*cur == '-') || (*cur == '+'))
|
| @@ -2597,8 +2608,8 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| } else {
|
| cur++;
|
| }
|
| - }
|
| - }
|
| + }
|
| + }
|
| if (val != NULL) {
|
| v = xmlSchemaNewValue(XML_SCHEMAS_TOKEN);
|
| if (v != NULL) {
|
| @@ -2611,7 +2622,7 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| goto return0;
|
| }
|
| case XML_SCHEMAS_LANGUAGE:
|
| - if (normOnTheFly) {
|
| + if (normOnTheFly) {
|
| norm = xmlSchemaCollapseString(value);
|
| if (norm != NULL)
|
| value = norm;
|
| @@ -2896,11 +2907,11 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| }
|
| goto done;
|
| }
|
| - case XML_SCHEMAS_ANYURI:{
|
| + case XML_SCHEMAS_ANYURI:{
|
| if (*value != 0) {
|
| xmlURIPtr uri;
|
| xmlChar *tmpval, *cur;
|
| - if (normOnTheFly) {
|
| + if (normOnTheFly) {
|
| norm = xmlSchemaCollapseString(value);
|
| if (norm != NULL)
|
| value = norm;
|
| @@ -2989,12 +3000,12 @@ xmlSchemaValAtomicType(xmlSchemaTypePtr type, const xmlChar * value,
|
| }
|
| case XML_SCHEMAS_BASE64BINARY:{
|
| /* ISSUE:
|
| - *
|
| + *
|
| * Ignore all stray characters? (yes, currently)
|
| * Worry about long lines? (no, currently)
|
| - *
|
| + *
|
| * rfc2045.txt:
|
| - *
|
| + *
|
| * "The encoded output stream must be represented in lines of
|
| * no more than 76 characters each. All line breaks or other
|
| * characters not found in Table 1 must be ignored by decoding
|
| @@ -3405,7 +3416,7 @@ xmlSchemaCompareDecimals(xmlSchemaValPtr x, xmlSchemaValPtr y)
|
| /*
|
| * First test: If x is -ve and not zero
|
| */
|
| - if ((x->value.decimal.sign) &&
|
| + if ((x->value.decimal.sign) &&
|
| ((x->value.decimal.lo != 0) ||
|
| (x->value.decimal.mi != 0) ||
|
| (x->value.decimal.hi != 0))) {
|
| @@ -3562,8 +3573,8 @@ xmlSchemaCompareDurations(xmlSchemaValPtr x, xmlSchemaValPtr y)
|
|
|
| /* seconds */
|
| sec = x->value.dur.sec - y->value.dur.sec;
|
| - carry = (long)sec / SECS_PER_DAY;
|
| - sec -= (double)(carry * SECS_PER_DAY);
|
| + carry = (long)(sec / SECS_PER_DAY);
|
| + sec -= ((double)carry) * SECS_PER_DAY;
|
|
|
| /* days */
|
| day = x->value.dur.day - y->value.dur.day + carry;
|
| @@ -3646,7 +3657,7 @@ xmlSchemaDupVal (xmlSchemaValPtr v)
|
| xmlSchemaValPtr ret = xmlSchemaNewValue(v->type);
|
| if (ret == NULL)
|
| return NULL;
|
| -
|
| +
|
| memcpy(ret, v, sizeof(xmlSchemaVal));
|
| ret->next = NULL;
|
| return ret;
|
| @@ -3692,7 +3703,7 @@ xmlSchemaCopyValue(xmlSchemaValPtr val)
|
| if (val->value.str != NULL)
|
| cur->value.str = xmlStrdup(BAD_CAST val->value.str);
|
| break;
|
| - case XML_SCHEMAS_QNAME:
|
| + case XML_SCHEMAS_QNAME:
|
| case XML_SCHEMAS_NOTATION:
|
| cur = xmlSchemaDupVal(val);
|
| if (val->value.qname.name != NULL)
|
| @@ -3834,16 +3845,17 @@ _xmlSchemaDateAdd (xmlSchemaValPtr dt, xmlSchemaValPtr dur)
|
| if (tyr == 0)
|
| tyr--;
|
| /*
|
| - * Coverity detected an overrun in daysInMonth
|
| + * Coverity detected an overrun in daysInMonth
|
| * of size 12 at position 12 with index variable "((r)->mon - 1)"
|
| */
|
| - if (tmon < 0)
|
| - tmon = 0;
|
| + if (tmon < 1)
|
| + tmon = 1;
|
| if (tmon > 12)
|
| tmon = 12;
|
| tempdays += MAX_DAYINMONTH(tyr, tmon);
|
| carry = -1;
|
| - } else if (tempdays > (long) MAX_DAYINMONTH(r->year, r->mon)) {
|
| + } else if (VALID_YEAR(r->year) && VALID_MONTH(r->mon) &&
|
| + tempdays > (long) MAX_DAYINMONTH(r->year, r->mon)) {
|
| tempdays = tempdays - MAX_DAYINMONTH(r->year, r->mon);
|
| carry = 1;
|
| } else
|
| @@ -3859,7 +3871,7 @@ _xmlSchemaDateAdd (xmlSchemaValPtr dt, xmlSchemaValPtr dur)
|
| r->year++;
|
| }
|
| }
|
| -
|
| +
|
| r->day = tempdays;
|
|
|
| /*
|
| @@ -3924,7 +3936,7 @@ xmlSchemaDateNormalize (xmlSchemaValPtr dt, double offset)
|
| * _xmlSchemaDateCastYMToDays:
|
| * @dt: an #xmlSchemaValPtr
|
| *
|
| - * Convert mon and year of @dt to total number of days. Take the
|
| + * Convert mon and year of @dt to total number of days. Take the
|
| * number of years since (or before) 1 AD and add the number of leap
|
| * years. This is a function because negative
|
| * years must be handled a little differently and there is no zero year.
|
| @@ -4104,7 +4116,7 @@ xmlSchemaCompareDates (xmlSchemaValPtr x, xmlSchemaValPtr y)
|
| ret = -1;
|
| else if (sec > 0.0)
|
| ret = 1;
|
| -
|
| +
|
| }
|
| xmlSchemaFreeValue(p1);
|
| xmlSchemaFreeValue(q1);
|
| @@ -4245,7 +4257,7 @@ xmlSchemaComparePreserveReplaceStrings(const xmlChar *x,
|
| int invert)
|
| {
|
| int tmp;
|
| -
|
| +
|
| while ((*x != 0) && (*y != 0)) {
|
| if (IS_WSP_REPLACE_CH(*y)) {
|
| if (! IS_WSP_SPACE_CH(*x)) {
|
| @@ -4260,7 +4272,7 @@ xmlSchemaComparePreserveReplaceStrings(const xmlChar *x,
|
| else
|
| return(1);
|
| }
|
| - }
|
| + }
|
| } else {
|
| tmp = *x - *y;
|
| if (tmp < 0) {
|
| @@ -4314,7 +4326,7 @@ xmlSchemaComparePreserveCollapseStrings(const xmlChar *x,
|
| {
|
| int tmp;
|
|
|
| - /*
|
| + /*
|
| * Skip leading blank chars of the collapsed string.
|
| */
|
| while IS_WSP_BLANK_CH(*y)
|
| @@ -4403,12 +4415,12 @@ xmlSchemaCompareReplaceCollapseStrings(const xmlChar *x,
|
| {
|
| int tmp;
|
|
|
| - /*
|
| + /*
|
| * Skip leading blank chars of the collapsed string.
|
| */
|
| while IS_WSP_BLANK_CH(*y)
|
| y++;
|
| -
|
| +
|
| while ((*x != 0) && (*y != 0)) {
|
| if IS_WSP_BLANK_CH(*y) {
|
| if (! IS_WSP_BLANK_CH(*x)) {
|
| @@ -4428,8 +4440,8 @@ xmlSchemaCompareReplaceCollapseStrings(const xmlChar *x,
|
| }
|
| }
|
| x++;
|
| - y++;
|
| - /*
|
| + y++;
|
| + /*
|
| * Skip contiguous blank chars of the collapsed string.
|
| */
|
| while IS_WSP_BLANK_CH(*y)
|
| @@ -4463,7 +4475,7 @@ xmlSchemaCompareReplaceCollapseStrings(const xmlChar *x,
|
| return(-1);
|
| else
|
| return(1);
|
| - }
|
| + }
|
| if (*y != 0) {
|
| /*
|
| * Skip trailing blank chars of the collapsed string.
|
| @@ -4496,27 +4508,27 @@ xmlSchemaCompareReplacedStrings(const xmlChar *x,
|
| const xmlChar *y)
|
| {
|
| int tmp;
|
| -
|
| +
|
| while ((*x != 0) && (*y != 0)) {
|
| if IS_WSP_BLANK_CH(*y) {
|
| if (! IS_WSP_BLANK_CH(*x)) {
|
| if ((*x - 0x20) < 0)
|
| - return(-1);
|
| + return(-1);
|
| else
|
| return(1);
|
| - }
|
| + }
|
| } else {
|
| if IS_WSP_BLANK_CH(*x) {
|
| if ((0x20 - *y) < 0)
|
| - return(-1);
|
| + return(-1);
|
| else
|
| return(1);
|
| }
|
| tmp = *x - *y;
|
| if (tmp < 0)
|
| - return(-1);
|
| + return(-1);
|
| if (tmp > 0)
|
| - return(1);
|
| + return(1);
|
| }
|
| x++;
|
| y++;
|
| @@ -4542,7 +4554,7 @@ static int
|
| xmlSchemaCompareNormStrings(const xmlChar *x,
|
| const xmlChar *y) {
|
| int tmp;
|
| -
|
| +
|
| while (IS_BLANK_CH(*x)) x++;
|
| while (IS_BLANK_CH(*y)) y++;
|
| while ((*x != 0) && (*y != 0)) {
|
| @@ -4735,13 +4747,13 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
|
| (ytype == XML_SCHEMAS_GYEARMONTH))
|
| return (xmlSchemaCompareDates(x, y));
|
| return (-2);
|
| - /*
|
| + /*
|
| * Note that we will support comparison of string types against
|
| * anySimpleType as well.
|
| */
|
| case XML_SCHEMAS_ANYSIMPLETYPE:
|
| case XML_SCHEMAS_STRING:
|
| - case XML_SCHEMAS_NORMSTRING:
|
| + case XML_SCHEMAS_NORMSTRING:
|
| case XML_SCHEMAS_TOKEN:
|
| case XML_SCHEMAS_LANGUAGE:
|
| case XML_SCHEMAS_NMTOKEN:
|
| @@ -4765,10 +4777,10 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
|
| /*
|
| * TODO: Compare those against QName.
|
| */
|
| - if (ytype == XML_SCHEMAS_QNAME) {
|
| + if (ytype == XML_SCHEMAS_QNAME) {
|
| TODO
|
| if (y == NULL)
|
| - return(-2);
|
| + return(-2);
|
| return (-2);
|
| }
|
| if ((ytype == XML_SCHEMAS_ANYSIMPLETYPE) ||
|
| @@ -4790,7 +4802,7 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
|
| /* TODO: What about x < y or x > y. */
|
| if (xmlStrEqual(xv, yv))
|
| return (0);
|
| - else
|
| + else
|
| return (2);
|
| } else if (yws == XML_SCHEMA_WHITESPACE_REPLACE)
|
| return (xmlSchemaComparePreserveReplaceStrings(xv, yv, 0));
|
| @@ -4816,7 +4828,7 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
|
| return (xmlSchemaCompareNormStrings(xv, yv));
|
| } else
|
| return (-2);
|
| -
|
| +
|
| }
|
| return (-2);
|
| }
|
| @@ -4887,7 +4899,7 @@ xmlSchemaCompareValuesInternal(xmlSchemaValType xtype,
|
| else
|
| return(-1);
|
| }
|
| - return (-2);
|
| + return (-2);
|
| case XML_SCHEMAS_IDREFS:
|
| case XML_SCHEMAS_ENTITIES:
|
| case XML_SCHEMAS_NMTOKENS:
|
| @@ -4922,7 +4934,7 @@ xmlSchemaCompareValues(xmlSchemaValPtr x, xmlSchemaValPtr y) {
|
|
|
| if (y->type == XML_SCHEMAS_STRING)
|
| yws = XML_SCHEMA_WHITESPACE_PRESERVE;
|
| - else if (x->type == XML_SCHEMAS_NORMSTRING)
|
| + else if (y->type == XML_SCHEMAS_NORMSTRING)
|
| yws = XML_SCHEMA_WHITESPACE_REPLACE;
|
| else
|
| yws = XML_SCHEMA_WHITESPACE_COLLAPSE;
|
| @@ -5075,7 +5087,7 @@ xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
|
| if (expectedLen != NULL)
|
| *expectedLen = facet->val->value.decimal.lo;
|
| return (XML_SCHEMAV_CVC_LENGTH_VALID);
|
| - }
|
| + }
|
| } else if (facet->type == XML_SCHEMA_FACET_MINLENGTH) {
|
| if (actualLen < facet->val->value.decimal.lo) {
|
| if (expectedLen != NULL)
|
| @@ -5089,12 +5101,12 @@ xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
|
| return (XML_SCHEMAV_CVC_MAXLENGTH_VALID);
|
| }
|
| } else
|
| - /*
|
| - * NOTE: That we can pass NULL as xmlSchemaValPtr to
|
| + /*
|
| + * NOTE: That we can pass NULL as xmlSchemaValPtr to
|
| * xmlSchemaValidateFacet, since the remaining facet types
|
| - * are: XML_SCHEMA_FACET_PATTERN, XML_SCHEMA_FACET_ENUMERATION.
|
| + * are: XML_SCHEMA_FACET_PATTERN, XML_SCHEMA_FACET_ENUMERATION.
|
| */
|
| - return(xmlSchemaValidateFacet(NULL, facet, value, NULL));
|
| + return(xmlSchemaValidateFacet(NULL, facet, value, NULL));
|
| return (0);
|
| }
|
|
|
| @@ -5107,7 +5119,7 @@ xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
|
| * @ws: the whitespace type of the value
|
| * @length: the actual length of the value
|
| *
|
| - * Checka a value against a "length", "minLength" and "maxLength"
|
| + * Checka a value against a "length", "minLength" and "maxLength"
|
| * facet; sets @length to the computed length of @value.
|
| *
|
| * Returns 0 if the value is valid, a positive error code
|
| @@ -5119,7 +5131,7 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
|
| const xmlChar *value,
|
| xmlSchemaValPtr val,
|
| unsigned long *length,
|
| - xmlSchemaWhitespaceValueType ws)
|
| + xmlSchemaWhitespaceValueType ws)
|
| {
|
| unsigned int len = 0;
|
|
|
| @@ -5130,7 +5142,7 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
|
| (facet->type != XML_SCHEMA_FACET_MAXLENGTH) &&
|
| (facet->type != XML_SCHEMA_FACET_MINLENGTH))
|
| return (-1);
|
| -
|
| +
|
| /*
|
| * TODO: length, maxLength and minLength must be of type
|
| * nonNegativeInteger only. Check if decimal is used somehow.
|
| @@ -5164,7 +5176,7 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
|
| if (ws == XML_SCHEMA_WHITESPACE_COLLAPSE)
|
| len = xmlSchemaNormLen(value);
|
| else
|
| - /*
|
| + /*
|
| * Should be OK for "preserve" as well.
|
| */
|
| len = xmlUTF8Strlen(value);
|
| @@ -5176,7 +5188,7 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
|
| case XML_SCHEMAS_NMTOKEN:
|
| case XML_SCHEMAS_NAME:
|
| case XML_SCHEMAS_NCNAME:
|
| - case XML_SCHEMAS_ID:
|
| + case XML_SCHEMAS_ID:
|
| /*
|
| * FIXME: What exactly to do with anyURI?
|
| */
|
| @@ -5185,11 +5197,11 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
|
| len = xmlSchemaNormLen(value);
|
| break;
|
| case XML_SCHEMAS_QNAME:
|
| - case XML_SCHEMAS_NOTATION:
|
| - /*
|
| + case XML_SCHEMAS_NOTATION:
|
| + /*
|
| * For QName and NOTATION, those facets are
|
| * deprecated and should be ignored.
|
| - */
|
| + */
|
| return (0);
|
| default:
|
| TODO
|
| @@ -5209,7 +5221,7 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
|
| if (len > facet->val->value.decimal.lo)
|
| return(XML_SCHEMAV_CVC_MAXLENGTH_VALID);
|
| }
|
| -
|
| +
|
| return (0);
|
| }
|
|
|
| @@ -5221,18 +5233,18 @@ xmlSchemaValidateLengthFacetInternal(xmlSchemaFacetPtr facet,
|
| * @val: the precomputed value
|
| * @length: the actual length of the value
|
| *
|
| - * Checka a value against a "length", "minLength" and "maxLength"
|
| + * Checka a value against a "length", "minLength" and "maxLength"
|
| * facet; sets @length to the computed length of @value.
|
| *
|
| * Returns 0 if the value is valid, a positive error code
|
| * otherwise and -1 in case of an internal or API error.
|
| */
|
| int
|
| -xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type,
|
| +xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type,
|
| xmlSchemaFacetPtr facet,
|
| const xmlChar *value,
|
| xmlSchemaValPtr val,
|
| - unsigned long *length)
|
| + unsigned long *length)
|
| {
|
| if (type == NULL)
|
| return(-1);
|
| @@ -5242,7 +5254,7 @@ xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type,
|
| }
|
|
|
| /**
|
| - * xmlSchemaValidateLengthFacetWhtsp:
|
| + * xmlSchemaValidateLengthFacetWhtsp:
|
| * @facet: the facet to check
|
| * @valType: the built-in type
|
| * @value: the lexical repr. of the value to be validated
|
| @@ -5250,7 +5262,7 @@ xmlSchemaValidateLengthFacet(xmlSchemaTypePtr type,
|
| * @ws: the whitespace type of the value
|
| * @length: the actual length of the value
|
| *
|
| - * Checka a value against a "length", "minLength" and "maxLength"
|
| + * Checka a value against a "length", "minLength" and "maxLength"
|
| * facet; sets @length to the computed length of @value.
|
| *
|
| * Returns 0 if the value is valid, a positive error code
|
| @@ -5285,7 +5297,7 @@ xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
|
| static int
|
| xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
|
| xmlSchemaWhitespaceValueType fws,
|
| - xmlSchemaValType valType,
|
| + xmlSchemaValType valType,
|
| const xmlChar *value,
|
| xmlSchemaValPtr val,
|
| xmlSchemaWhitespaceValueType ws)
|
| @@ -5297,7 +5309,7 @@ xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
|
|
|
| switch (facet->type) {
|
| case XML_SCHEMA_FACET_PATTERN:
|
| - /*
|
| + /*
|
| * NOTE that for patterns, the @value needs to be the normalized
|
| * value, *not* the lexical initial value or the canonical value.
|
| */
|
| @@ -5398,7 +5410,7 @@ xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
|
| else {
|
| switch (valType) {
|
| case XML_SCHEMAS_STRING:
|
| - case XML_SCHEMAS_NORMSTRING:
|
| + case XML_SCHEMAS_NORMSTRING:
|
| if (ws == XML_SCHEMA_WHITESPACE_UNKNOWN) {
|
| /*
|
| * This is to ensure API compatibility with the old
|
| @@ -5414,13 +5426,13 @@ xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
|
| if (ws == XML_SCHEMA_WHITESPACE_COLLAPSE)
|
| len = xmlSchemaNormLen(value);
|
| else
|
| - /*
|
| + /*
|
| * Should be OK for "preserve" as well.
|
| */
|
| len = xmlUTF8Strlen(value);
|
| }
|
| break;
|
| - case XML_SCHEMAS_IDREF:
|
| + case XML_SCHEMAS_IDREF:
|
| case XML_SCHEMAS_TOKEN:
|
| case XML_SCHEMAS_LANGUAGE:
|
| case XML_SCHEMAS_NMTOKEN:
|
| @@ -5429,11 +5441,11 @@ xmlSchemaValidateFacetInternal(xmlSchemaFacetPtr facet,
|
| case XML_SCHEMAS_ID:
|
| case XML_SCHEMAS_ANYURI:
|
| if (value != NULL)
|
| - len = xmlSchemaNormLen(value);
|
| - break;
|
| + len = xmlSchemaNormLen(value);
|
| + break;
|
| default:
|
| TODO
|
| - }
|
| + }
|
| }
|
| if (facet->type == XML_SCHEMA_FACET_LENGTH) {
|
| if (len != facet->val->value.decimal.lo)
|
| @@ -5543,7 +5555,7 @@ xmlSchemaValidateFacet(xmlSchemaTypePtr base,
|
| int
|
| xmlSchemaValidateFacetWhtsp(xmlSchemaFacetPtr facet,
|
| xmlSchemaWhitespaceValueType fws,
|
| - xmlSchemaValType valType,
|
| + xmlSchemaValType valType,
|
| const xmlChar *value,
|
| xmlSchemaValPtr val,
|
| xmlSchemaWhitespaceValueType ws)
|
| @@ -5604,13 +5616,13 @@ xmlSchemaFormatFloat(double number, char buffer[], int buffersize)
|
| /*
|
| * Result is in work, and after_fraction points
|
| * just past the fractional part.
|
| - * Use scientific notation
|
| + * Use scientific notation
|
| */
|
| integer_place = DBL_DIG + EXPONENT_DIGITS + 1;
|
| fraction_place = DBL_DIG - 1;
|
| snprintf(work, sizeof(work),"%*.*e",
|
| integer_place, fraction_place, number);
|
| - after_fraction = strchr(work + DBL_DIG, 'e');
|
| + after_fraction = strchr(work + DBL_DIG, 'e');
|
| /* Remove fractional trailing zeroes */
|
| ptr = after_fraction;
|
| while (*(--ptr) == '0')
|
| @@ -5637,12 +5649,12 @@ xmlSchemaFormatFloat(double number, char buffer[], int buffersize)
|
| * @val: the precomputed value
|
| * @retValue: the returned value
|
| *
|
| - * Get a the cononical lexical representation of the value.
|
| + * Get the canonical lexical representation of the value.
|
| * The caller has to FREE the returned retValue.
|
| *
|
| * WARNING: Some value types are not supported yet, resulting
|
| * in a @retValue of "???".
|
| - *
|
| + *
|
| * TODO: XML Schema 1.0 does not define canonical representations
|
| * for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay,
|
| * anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.
|
| @@ -5662,7 +5674,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| if (val->value.str == NULL)
|
| *retValue = BAD_CAST xmlStrdup(BAD_CAST "");
|
| else
|
| - *retValue =
|
| + *retValue =
|
| BAD_CAST xmlStrdup((const xmlChar *) val->value.str);
|
| break;
|
| case XML_SCHEMAS_NORMSTRING:
|
| @@ -5679,7 +5691,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| case XML_SCHEMAS_TOKEN:
|
| case XML_SCHEMAS_LANGUAGE:
|
| case XML_SCHEMAS_NMTOKEN:
|
| - case XML_SCHEMAS_NAME:
|
| + case XML_SCHEMAS_NAME:
|
| case XML_SCHEMAS_NCNAME:
|
| case XML_SCHEMAS_ID:
|
| case XML_SCHEMAS_IDREF:
|
| @@ -5688,10 +5700,10 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| case XML_SCHEMAS_ANYURI: /* Unclear */
|
| if (val->value.str == NULL)
|
| return (-1);
|
| - *retValue =
|
| + *retValue =
|
| BAD_CAST xmlSchemaCollapseString(BAD_CAST val->value.str);
|
| if (*retValue == NULL)
|
| - *retValue =
|
| + *retValue =
|
| BAD_CAST xmlStrdup((const xmlChar *) val->value.str);
|
| break;
|
| case XML_SCHEMAS_QNAME:
|
| @@ -5713,7 +5725,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| /*
|
| * TODO: Lookout for a more simple implementation.
|
| */
|
| - if ((val->value.decimal.total == 1) &&
|
| + if ((val->value.decimal.total == 1) &&
|
| (val->value.decimal.lo == 0)) {
|
| *retValue = xmlStrdup(BAD_CAST "0.0");
|
| } else {
|
| @@ -5747,7 +5759,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| else
|
| snprintf(offs, bufsize - (offs - buf),
|
| "%lu", dec.lo);
|
| -
|
| +
|
| if (dec.frac != 0) {
|
| if (dec.frac != dec.total) {
|
| int diff = dec.total - dec.frac;
|
| @@ -5760,7 +5772,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| unsigned int i = 0;
|
| /*
|
| * Insert missing zeroes behind the decimal point.
|
| - */
|
| + */
|
| while (*(offs + i) != 0)
|
| i++;
|
| if (i < dec.total) {
|
| @@ -5897,7 +5909,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| snprintf((char *) *retValue, 6, "---%02u",
|
| val->value.date.day);
|
| }
|
| - break;
|
| + break;
|
| case XML_SCHEMAS_GMONTHDAY: {
|
| /* TODO: Unclear in XML Schema 1.0 */
|
| /* TODO: What to do with the timezone? */
|
| @@ -5914,14 +5926,14 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| /* TODO: What to do with the timezone? */
|
| if (val->value.date.year < 0)
|
| snprintf(buf, 35, "-%04ld-%02u",
|
| - labs(val->value.date.year),
|
| + labs(val->value.date.year),
|
| val->value.date.mon);
|
| else
|
| snprintf(buf, 35, "%04ld-%02u",
|
| val->value.date.year, val->value.date.mon);
|
| *retValue = BAD_CAST xmlStrdup(BAD_CAST buf);
|
| }
|
| - break;
|
| + break;
|
| case XML_SCHEMAS_TIME:
|
| {
|
| char buf[30];
|
| @@ -5932,8 +5944,8 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| norm = xmlSchemaDateNormalize(val, 0);
|
| if (norm == NULL)
|
| return (-1);
|
| - /*
|
| - * TODO: Check if "%.14g" is portable.
|
| + /*
|
| + * TODO: Check if "%.14g" is portable.
|
| */
|
| snprintf(buf, 30,
|
| "%02u:%02u:%02.14gZ",
|
| @@ -5949,7 +5961,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| val->value.date.sec);
|
| }
|
| *retValue = BAD_CAST xmlStrdup(BAD_CAST buf);
|
| - }
|
| + }
|
| break;
|
| case XML_SCHEMAS_DATE:
|
| {
|
| @@ -5977,7 +5989,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| val->value.date.day);
|
| }
|
| *retValue = BAD_CAST xmlStrdup(BAD_CAST buf);
|
| - }
|
| + }
|
| break;
|
| case XML_SCHEMAS_DATETIME:
|
| {
|
| @@ -6021,8 +6033,8 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| *retValue = BAD_CAST xmlStrdup(BAD_CAST val->value.base64.str);
|
| break;
|
| case XML_SCHEMAS_FLOAT: {
|
| - char buf[30];
|
| - /*
|
| + char buf[30];
|
| + /*
|
| * |m| < 16777216, -149 <= e <= 104.
|
| * TODO: Handle, NaN, INF, -INF. The format is not
|
| * yet conformant. The c type float does not cover
|
| @@ -6043,7 +6055,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| snprintf(buf, 40, "%01.14e", val->value.d);
|
| *retValue = BAD_CAST xmlStrdup(BAD_CAST buf);
|
| }
|
| - break;
|
| + break;
|
| default:
|
| *retValue = BAD_CAST xmlStrdup(BAD_CAST "???");
|
| return (1);
|
| @@ -6059,7 +6071,7 @@ xmlSchemaGetCanonValue(xmlSchemaValPtr val, const xmlChar **retValue)
|
| * @retValue: the returned value
|
| * @ws: the whitespace type of the value
|
| *
|
| - * Get a the cononical representation of the value.
|
| + * Get the canonical representation of the value.
|
| * The caller has to free the returned @retValue.
|
| *
|
| * Returns 0 if the value could be built, 1 if the value type is
|
| @@ -6102,7 +6114,7 @@ xmlSchemaGetCanonValueWhtsp(xmlSchemaValPtr val,
|
| break;
|
| default:
|
| return (xmlSchemaGetCanonValue(val, retValue));
|
| - }
|
| + }
|
| return (0);
|
| }
|
|
|
|
|