version 1.25, 1999/08/30 11:19:42
|
version 1.26, 1999/09/02 16:30:54
|
Line 10
|
Line 10
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
#include <string.h> |
#include <string.h> |
|
#include "xmlmemory.h" |
#include "valid.h" |
#include "valid.h" |
#include "parser.h" |
#include "parser.h" |
#include "parserInternals.h" |
#include "parserInternals.h" |
Line 63 xmlNewElementContent(CHAR *name, xmlElem
|
Line 64 xmlNewElementContent(CHAR *name, xmlElem
|
fprintf(stderr, "xmlNewElementContent: unknown type %d\n", type); |
fprintf(stderr, "xmlNewElementContent: unknown type %d\n", type); |
exit(1); |
exit(1); |
} |
} |
ret = (xmlElementContentPtr) malloc(sizeof(xmlElementContent)); |
ret = (xmlElementContentPtr) xmlMalloc(sizeof(xmlElementContent)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlNewElementContent : out of memory!\n"); |
fprintf(stderr, "xmlNewElementContent : out of memory!\n"); |
return(NULL); |
return(NULL); |
Line 113 xmlFreeElementContent(xmlElementContentP
|
Line 114 xmlFreeElementContent(xmlElementContentP
|
if (cur == NULL) return; |
if (cur == NULL) return; |
if (cur->c1 != NULL) xmlFreeElementContent(cur->c1); |
if (cur->c1 != NULL) xmlFreeElementContent(cur->c1); |
if (cur->c2 != NULL) xmlFreeElementContent(cur->c2); |
if (cur->c2 != NULL) xmlFreeElementContent(cur->c2); |
if (cur->name != NULL) free((CHAR *) cur->name); |
if (cur->name != NULL) xmlFree((CHAR *) cur->name); |
memset(cur, -1, sizeof(xmlElementContent)); |
memset(cur, -1, sizeof(xmlElementContent)); |
free(cur); |
xmlFree(cur); |
} |
} |
|
|
/** |
/** |
Line 263 xmlCreateElementTable(void) {
|
Line 264 xmlCreateElementTable(void) {
|
xmlElementTablePtr ret; |
xmlElementTablePtr ret; |
|
|
ret = (xmlElementTablePtr) |
ret = (xmlElementTablePtr) |
malloc(sizeof(xmlElementTable)); |
xmlMalloc(sizeof(xmlElementTable)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCreateElementTable : malloc(%ld) failed\n", |
fprintf(stderr, "xmlCreateElementTable : xmlMalloc(%ld) failed\n", |
(long)sizeof(xmlElementTable)); |
(long)sizeof(xmlElementTable)); |
return(NULL); |
return(NULL); |
} |
} |
ret->max_elements = XML_MIN_ELEMENT_TABLE; |
ret->max_elements = XML_MIN_ELEMENT_TABLE; |
ret->nb_elements = 0; |
ret->nb_elements = 0; |
ret->table = (xmlElementPtr *) |
ret->table = (xmlElementPtr *) |
malloc(ret->max_elements * sizeof(xmlElementPtr)); |
xmlMalloc(ret->max_elements * sizeof(xmlElementPtr)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCreateElementTable : malloc(%ld) failed\n", |
fprintf(stderr, "xmlCreateElementTable : xmlMalloc(%ld) failed\n", |
ret->max_elements * (long)sizeof(xmlElement)); |
ret->max_elements * (long)sizeof(xmlElement)); |
free(ret); |
xmlFree(ret); |
return(NULL); |
return(NULL); |
} |
} |
return(ret); |
return(ret); |
Line 378 xmlAddElementDecl(xmlValidCtxtPtr ctxt,
|
Line 379 xmlAddElementDecl(xmlValidCtxtPtr ctxt,
|
*/ |
*/ |
table->max_elements *= 2; |
table->max_elements *= 2; |
table->table = (xmlElementPtr *) |
table->table = (xmlElementPtr *) |
realloc(table->table, table->max_elements * sizeof(xmlElementPtr)); |
xmlRealloc(table->table, table->max_elements * sizeof(xmlElementPtr)); |
if (table->table == NULL) { |
if (table->table == NULL) { |
fprintf(stderr, "xmlAddElementDecl: out of memory\n"); |
fprintf(stderr, "xmlAddElementDecl: out of memory\n"); |
return(NULL); |
return(NULL); |
} |
} |
} |
} |
ret = (xmlElementPtr) malloc(sizeof(xmlElement)); |
ret = (xmlElementPtr) xmlMalloc(sizeof(xmlElement)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlAddElementDecl: out of memory\n"); |
fprintf(stderr, "xmlAddElementDecl: out of memory\n"); |
return(NULL); |
return(NULL); |
Line 414 xmlFreeElement(xmlElementPtr elem) {
|
Line 415 xmlFreeElement(xmlElementPtr elem) {
|
if (elem == NULL) return; |
if (elem == NULL) return; |
xmlFreeElementContent(elem->content); |
xmlFreeElementContent(elem->content); |
if (elem->name != NULL) |
if (elem->name != NULL) |
free((CHAR *) elem->name); |
xmlFree((CHAR *) elem->name); |
memset(elem, -1, sizeof(xmlElement)); |
memset(elem, -1, sizeof(xmlElement)); |
free(elem); |
xmlFree(elem); |
} |
} |
|
|
/** |
/** |
Line 434 xmlFreeElementTable(xmlElementTablePtr t
|
Line 435 xmlFreeElementTable(xmlElementTablePtr t
|
for (i = 0;i < table->nb_elements;i++) { |
for (i = 0;i < table->nb_elements;i++) { |
xmlFreeElement(table->table[i]); |
xmlFreeElement(table->table[i]); |
} |
} |
free(table->table); |
xmlFree(table->table); |
free(table); |
xmlFree(table); |
} |
} |
|
|
/** |
/** |
Line 452 xmlCopyElementTable(xmlElementTablePtr t
|
Line 453 xmlCopyElementTable(xmlElementTablePtr t
|
xmlElementPtr cur, ent; |
xmlElementPtr cur, ent; |
int i; |
int i; |
|
|
ret = (xmlElementTablePtr) malloc(sizeof(xmlElementTable)); |
ret = (xmlElementTablePtr) xmlMalloc(sizeof(xmlElementTable)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCopyElementTable: out of memory !\n"); |
fprintf(stderr, "xmlCopyElementTable: out of memory !\n"); |
return(NULL); |
return(NULL); |
} |
} |
ret->table = (xmlElementPtr *) malloc(table->max_elements * |
ret->table = (xmlElementPtr *) xmlMalloc(table->max_elements * |
sizeof(xmlElementPtr)); |
sizeof(xmlElementPtr)); |
if (ret->table == NULL) { |
if (ret->table == NULL) { |
fprintf(stderr, "xmlCopyElementTable: out of memory !\n"); |
fprintf(stderr, "xmlCopyElementTable: out of memory !\n"); |
free(ret); |
xmlFree(ret); |
return(NULL); |
return(NULL); |
} |
} |
ret->max_elements = table->max_elements; |
ret->max_elements = table->max_elements; |
ret->nb_elements = table->nb_elements; |
ret->nb_elements = table->nb_elements; |
for (i = 0;i < ret->nb_elements;i++) { |
for (i = 0;i < ret->nb_elements;i++) { |
cur = (xmlElementPtr) malloc(sizeof(xmlElement)); |
cur = (xmlElementPtr) xmlMalloc(sizeof(xmlElement)); |
if (cur == NULL) { |
if (cur == NULL) { |
fprintf(stderr, "xmlCopyElementTable: out of memory !\n"); |
fprintf(stderr, "xmlCopyElementTable: out of memory !\n"); |
free(ret); |
xmlFree(ret); |
free(ret->table); |
xmlFree(ret->table); |
return(NULL); |
return(NULL); |
} |
} |
ret->table[i] = cur; |
ret->table[i] = cur; |
Line 549 xmlEnumerationPtr
|
Line 550 xmlEnumerationPtr
|
xmlCreateEnumeration(CHAR *name) { |
xmlCreateEnumeration(CHAR *name) { |
xmlEnumerationPtr ret; |
xmlEnumerationPtr ret; |
|
|
ret = (xmlEnumerationPtr) malloc(sizeof(xmlEnumeration)); |
ret = (xmlEnumerationPtr) xmlMalloc(sizeof(xmlEnumeration)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCreateEnumeration : malloc(%ld) failed\n", |
fprintf(stderr, "xmlCreateEnumeration : xmlMalloc(%ld) failed\n", |
(long)sizeof(xmlEnumeration)); |
(long)sizeof(xmlEnumeration)); |
return(NULL); |
return(NULL); |
} |
} |
Line 576 xmlFreeEnumeration(xmlEnumerationPtr cur
|
Line 577 xmlFreeEnumeration(xmlEnumerationPtr cur
|
|
|
if (cur->next != NULL) xmlFreeEnumeration(cur->next); |
if (cur->next != NULL) xmlFreeEnumeration(cur->next); |
|
|
if (cur->name != NULL) free((CHAR *) cur->name); |
if (cur->name != NULL) xmlFree((CHAR *) cur->name); |
memset(cur, -1, sizeof(xmlEnumeration)); |
memset(cur, -1, sizeof(xmlEnumeration)); |
free(cur); |
xmlFree(cur); |
} |
} |
|
|
/** |
/** |
Line 636 xmlCreateAttributeTable(void) {
|
Line 637 xmlCreateAttributeTable(void) {
|
xmlAttributeTablePtr ret; |
xmlAttributeTablePtr ret; |
|
|
ret = (xmlAttributeTablePtr) |
ret = (xmlAttributeTablePtr) |
malloc(sizeof(xmlAttributeTable)); |
xmlMalloc(sizeof(xmlAttributeTable)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCreateAttributeTable : malloc(%ld) failed\n", |
fprintf(stderr, "xmlCreateAttributeTable : xmlMalloc(%ld) failed\n", |
(long)sizeof(xmlAttributeTable)); |
(long)sizeof(xmlAttributeTable)); |
return(NULL); |
return(NULL); |
} |
} |
ret->max_attributes = XML_MIN_ATTRIBUTE_TABLE; |
ret->max_attributes = XML_MIN_ATTRIBUTE_TABLE; |
ret->nb_attributes = 0; |
ret->nb_attributes = 0; |
ret->table = (xmlAttributePtr *) |
ret->table = (xmlAttributePtr *) |
malloc(ret->max_attributes * sizeof(xmlAttributePtr)); |
xmlMalloc(ret->max_attributes * sizeof(xmlAttributePtr)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCreateAttributeTable : malloc(%ld) failed\n", |
fprintf(stderr, "xmlCreateAttributeTable : xmlMalloc(%ld) failed\n", |
ret->max_attributes * (long)sizeof(xmlAttributePtr)); |
ret->max_attributes * (long)sizeof(xmlAttributePtr)); |
free(ret); |
xmlFree(ret); |
return(NULL); |
return(NULL); |
} |
} |
return(ret); |
return(ret); |
Line 831 xmlAddAttributeDecl(xmlValidCtxtPtr ctxt
|
Line 832 xmlAddAttributeDecl(xmlValidCtxtPtr ctxt
|
*/ |
*/ |
table->max_attributes *= 2; |
table->max_attributes *= 2; |
table->table = (xmlAttributePtr *) |
table->table = (xmlAttributePtr *) |
realloc(table->table, table->max_attributes * |
xmlRealloc(table->table, table->max_attributes * |
sizeof(xmlAttributePtr)); |
sizeof(xmlAttributePtr)); |
if (table->table == NULL) { |
if (table->table == NULL) { |
fprintf(stderr, "xmlAddAttributeDecl: out of memory\n"); |
fprintf(stderr, "xmlAddAttributeDecl: out of memory\n"); |
return(NULL); |
return(NULL); |
} |
} |
} |
} |
ret = (xmlAttributePtr) malloc(sizeof(xmlAttribute)); |
ret = (xmlAttributePtr) xmlMalloc(sizeof(xmlAttribute)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlAddAttributeDecl: out of memory\n"); |
fprintf(stderr, "xmlAddAttributeDecl: out of memory\n"); |
return(NULL); |
return(NULL); |
Line 884 xmlFreeAttribute(xmlAttributePtr attr) {
|
Line 885 xmlFreeAttribute(xmlAttributePtr attr) {
|
if (attr->tree != NULL) |
if (attr->tree != NULL) |
xmlFreeEnumeration(attr->tree); |
xmlFreeEnumeration(attr->tree); |
if (attr->elem != NULL) |
if (attr->elem != NULL) |
free((CHAR *) attr->elem); |
xmlFree((CHAR *) attr->elem); |
if (attr->name != NULL) |
if (attr->name != NULL) |
free((CHAR *) attr->name); |
xmlFree((CHAR *) attr->name); |
if (attr->defaultValue != NULL) |
if (attr->defaultValue != NULL) |
free((CHAR *) attr->defaultValue); |
xmlFree((CHAR *) attr->defaultValue); |
memset(attr, -1, sizeof(xmlAttribute)); |
memset(attr, -1, sizeof(xmlAttribute)); |
free(attr); |
xmlFree(attr); |
} |
} |
|
|
/** |
/** |
Line 908 xmlFreeAttributeTable(xmlAttributeTableP
|
Line 909 xmlFreeAttributeTable(xmlAttributeTableP
|
for (i = 0;i < table->nb_attributes;i++) { |
for (i = 0;i < table->nb_attributes;i++) { |
xmlFreeAttribute(table->table[i]); |
xmlFreeAttribute(table->table[i]); |
} |
} |
free(table->table); |
xmlFree(table->table); |
free(table); |
xmlFree(table); |
} |
} |
|
|
/** |
/** |
Line 926 xmlCopyAttributeTable(xmlAttributeTableP
|
Line 927 xmlCopyAttributeTable(xmlAttributeTableP
|
xmlAttributePtr cur, attr; |
xmlAttributePtr cur, attr; |
int i; |
int i; |
|
|
ret = (xmlAttributeTablePtr) malloc(sizeof(xmlAttributeTable)); |
ret = (xmlAttributeTablePtr) xmlMalloc(sizeof(xmlAttributeTable)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCopyAttributeTable: out of memory !\n"); |
fprintf(stderr, "xmlCopyAttributeTable: out of memory !\n"); |
return(NULL); |
return(NULL); |
} |
} |
ret->table = (xmlAttributePtr *) malloc(table->max_attributes * |
ret->table = (xmlAttributePtr *) xmlMalloc(table->max_attributes * |
sizeof(xmlAttributePtr)); |
sizeof(xmlAttributePtr)); |
if (ret->table == NULL) { |
if (ret->table == NULL) { |
fprintf(stderr, "xmlCopyAttributeTable: out of memory !\n"); |
fprintf(stderr, "xmlCopyAttributeTable: out of memory !\n"); |
free(ret); |
xmlFree(ret); |
return(NULL); |
return(NULL); |
} |
} |
ret->max_attributes = table->max_attributes; |
ret->max_attributes = table->max_attributes; |
ret->nb_attributes = table->nb_attributes; |
ret->nb_attributes = table->nb_attributes; |
for (i = 0;i < ret->nb_attributes;i++) { |
for (i = 0;i < ret->nb_attributes;i++) { |
attr = table->table[i]; |
attr = table->table[i]; |
cur = (xmlAttributePtr) malloc(sizeof(xmlAttribute)); |
cur = (xmlAttributePtr) xmlMalloc(sizeof(xmlAttribute)); |
if (cur == NULL) { |
if (cur == NULL) { |
fprintf(stderr, "xmlCopyAttributeTable: out of memory !\n"); |
fprintf(stderr, "xmlCopyAttributeTable: out of memory !\n"); |
free(ret); |
xmlFree(ret); |
free(ret->table); |
xmlFree(ret->table); |
return(NULL); |
return(NULL); |
} |
} |
ret->table[i] = cur; |
ret->table[i] = cur; |
Line 1071 xmlCreateNotationTable(void) {
|
Line 1072 xmlCreateNotationTable(void) {
|
xmlNotationTablePtr ret; |
xmlNotationTablePtr ret; |
|
|
ret = (xmlNotationTablePtr) |
ret = (xmlNotationTablePtr) |
malloc(sizeof(xmlNotationTable)); |
xmlMalloc(sizeof(xmlNotationTable)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCreateNotationTable : malloc(%ld) failed\n", |
fprintf(stderr, "xmlCreateNotationTable : xmlMalloc(%ld) failed\n", |
(long)sizeof(xmlNotationTable)); |
(long)sizeof(xmlNotationTable)); |
return(NULL); |
return(NULL); |
} |
} |
ret->max_notations = XML_MIN_NOTATION_TABLE; |
ret->max_notations = XML_MIN_NOTATION_TABLE; |
ret->nb_notations = 0; |
ret->nb_notations = 0; |
ret->table = (xmlNotationPtr *) |
ret->table = (xmlNotationPtr *) |
malloc(ret->max_notations * sizeof(xmlNotationPtr)); |
xmlMalloc(ret->max_notations * sizeof(xmlNotationPtr)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCreateNotationTable : malloc(%ld) failed\n", |
fprintf(stderr, "xmlCreateNotationTable : xmlMalloc(%ld) failed\n", |
ret->max_notations * (long)sizeof(xmlNotation)); |
ret->max_notations * (long)sizeof(xmlNotation)); |
free(ret); |
xmlFree(ret); |
return(NULL); |
return(NULL); |
} |
} |
return(ret); |
return(ret); |
Line 1157 xmlAddNotationDecl(xmlValidCtxtPtr ctxt,
|
Line 1158 xmlAddNotationDecl(xmlValidCtxtPtr ctxt,
|
*/ |
*/ |
table->max_notations *= 2; |
table->max_notations *= 2; |
table->table = (xmlNotationPtr *) |
table->table = (xmlNotationPtr *) |
realloc(table->table, table->max_notations * |
xmlRealloc(table->table, table->max_notations * |
sizeof(xmlNotationPtr)); |
sizeof(xmlNotationPtr)); |
if (table->table == NULL) { |
if (table->table == NULL) { |
fprintf(stderr, "xmlAddNotationDecl: out of memory\n"); |
fprintf(stderr, "xmlAddNotationDecl: out of memory\n"); |
return(NULL); |
return(NULL); |
} |
} |
} |
} |
ret = (xmlNotationPtr) malloc(sizeof(xmlNotation)); |
ret = (xmlNotationPtr) xmlMalloc(sizeof(xmlNotation)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlAddNotationDecl: out of memory\n"); |
fprintf(stderr, "xmlAddNotationDecl: out of memory\n"); |
return(NULL); |
return(NULL); |
Line 1198 void
|
Line 1199 void
|
xmlFreeNotation(xmlNotationPtr nota) { |
xmlFreeNotation(xmlNotationPtr nota) { |
if (nota == NULL) return; |
if (nota == NULL) return; |
if (nota->name != NULL) |
if (nota->name != NULL) |
free((CHAR *) nota->name); |
xmlFree((CHAR *) nota->name); |
if (nota->PublicID != NULL) |
if (nota->PublicID != NULL) |
free((CHAR *) nota->PublicID); |
xmlFree((CHAR *) nota->PublicID); |
if (nota->SystemID != NULL) |
if (nota->SystemID != NULL) |
free((CHAR *) nota->SystemID); |
xmlFree((CHAR *) nota->SystemID); |
memset(nota, -1, sizeof(xmlNotation)); |
memset(nota, -1, sizeof(xmlNotation)); |
free(nota); |
xmlFree(nota); |
} |
} |
|
|
/** |
/** |
Line 1222 xmlFreeNotationTable(xmlNotationTablePtr
|
Line 1223 xmlFreeNotationTable(xmlNotationTablePtr
|
for (i = 0;i < table->nb_notations;i++) { |
for (i = 0;i < table->nb_notations;i++) { |
xmlFreeNotation(table->table[i]); |
xmlFreeNotation(table->table[i]); |
} |
} |
free(table->table); |
xmlFree(table->table); |
free(table); |
xmlFree(table); |
} |
} |
|
|
/** |
/** |
Line 1240 xmlCopyNotationTable(xmlNotationTablePtr
|
Line 1241 xmlCopyNotationTable(xmlNotationTablePtr
|
xmlNotationPtr cur, nota; |
xmlNotationPtr cur, nota; |
int i; |
int i; |
|
|
ret = (xmlNotationTablePtr) malloc(sizeof(xmlNotationTable)); |
ret = (xmlNotationTablePtr) xmlMalloc(sizeof(xmlNotationTable)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCopyNotationTable: out of memory !\n"); |
fprintf(stderr, "xmlCopyNotationTable: out of memory !\n"); |
return(NULL); |
return(NULL); |
} |
} |
ret->table = (xmlNotationPtr *) malloc(table->max_notations * |
ret->table = (xmlNotationPtr *) xmlMalloc(table->max_notations * |
sizeof(xmlNotationPtr)); |
sizeof(xmlNotationPtr)); |
if (ret->table == NULL) { |
if (ret->table == NULL) { |
fprintf(stderr, "xmlCopyNotationTable: out of memory !\n"); |
fprintf(stderr, "xmlCopyNotationTable: out of memory !\n"); |
free(ret); |
xmlFree(ret); |
return(NULL); |
return(NULL); |
} |
} |
ret->max_notations = table->max_notations; |
ret->max_notations = table->max_notations; |
ret->nb_notations = table->nb_notations; |
ret->nb_notations = table->nb_notations; |
for (i = 0;i < ret->nb_notations;i++) { |
for (i = 0;i < ret->nb_notations;i++) { |
cur = (xmlNotationPtr) malloc(sizeof(xmlNotation)); |
cur = (xmlNotationPtr) xmlMalloc(sizeof(xmlNotation)); |
if (cur == NULL) { |
if (cur == NULL) { |
fprintf(stderr, "xmlCopyNotationTable: out of memory !\n"); |
fprintf(stderr, "xmlCopyNotationTable: out of memory !\n"); |
free(ret); |
xmlFree(ret); |
free(ret->table); |
xmlFree(ret->table); |
return(NULL); |
return(NULL); |
} |
} |
ret->table[i] = cur; |
ret->table[i] = cur; |
Line 1331 xmlCreateIDTable(void) {
|
Line 1332 xmlCreateIDTable(void) {
|
xmlIDTablePtr ret; |
xmlIDTablePtr ret; |
|
|
ret = (xmlIDTablePtr) |
ret = (xmlIDTablePtr) |
malloc(sizeof(xmlIDTable)); |
xmlMalloc(sizeof(xmlIDTable)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCreateIDTable : malloc(%ld) failed\n", |
fprintf(stderr, "xmlCreateIDTable : xmlMalloc(%ld) failed\n", |
(long)sizeof(xmlIDTable)); |
(long)sizeof(xmlIDTable)); |
return(NULL); |
return(NULL); |
} |
} |
ret->max_ids = XML_MIN_NOTATION_TABLE; |
ret->max_ids = XML_MIN_NOTATION_TABLE; |
ret->nb_ids = 0; |
ret->nb_ids = 0; |
ret->table = (xmlIDPtr *) |
ret->table = (xmlIDPtr *) |
malloc(ret->max_ids * sizeof(xmlIDPtr)); |
xmlMalloc(ret->max_ids * sizeof(xmlIDPtr)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlCreateIDTable : malloc(%ld) failed\n", |
fprintf(stderr, "xmlCreateIDTable : xmlMalloc(%ld) failed\n", |
ret->max_ids * (long)sizeof(xmlID)); |
ret->max_ids * (long)sizeof(xmlID)); |
free(ret); |
xmlFree(ret); |
return(NULL); |
return(NULL); |
} |
} |
return(ret); |
return(ret); |
Line 1417 xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr
|
Line 1418 xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr
|
*/ |
*/ |
table->max_ids *= 2; |
table->max_ids *= 2; |
table->table = (xmlIDPtr *) |
table->table = (xmlIDPtr *) |
realloc(table->table, table->max_ids * |
xmlRealloc(table->table, table->max_ids * |
sizeof(xmlIDPtr)); |
sizeof(xmlIDPtr)); |
if (table->table == NULL) { |
if (table->table == NULL) { |
fprintf(stderr, "xmlAddID: out of memory\n"); |
fprintf(stderr, "xmlAddID: out of memory\n"); |
return(NULL); |
return(NULL); |
} |
} |
} |
} |
ret = (xmlIDPtr) malloc(sizeof(xmlID)); |
ret = (xmlIDPtr) xmlMalloc(sizeof(xmlID)); |
if (ret == NULL) { |
if (ret == NULL) { |
fprintf(stderr, "xmlAddID: out of memory\n"); |
fprintf(stderr, "xmlAddID: out of memory\n"); |
return(NULL); |
return(NULL); |
Line 1451 void
|
Line 1452 void
|
xmlFreeID(xmlIDPtr id) { |
xmlFreeID(xmlIDPtr id) { |
if (id == NULL) return; |
if (id == NULL) return; |
if (id->value != NULL) |
if (id->value != NULL) |
free((CHAR *) id->value); |
xmlFree((CHAR *) id->value); |
memset(id, -1, sizeof(xmlID)); |
memset(id, -1, sizeof(xmlID)); |
free(id); |
xmlFree(id); |
} |
} |
|
|
/** |
/** |
Line 1471 xmlFreeIDTable(xmlIDTablePtr table) {
|
Line 1472 xmlFreeIDTable(xmlIDTablePtr table) {
|
for (i = 0;i < table->nb_ids;i++) { |
for (i = 0;i < table->nb_ids;i++) { |
xmlFreeID(table->table[i]); |
xmlFreeID(table->table[i]); |
} |
} |
free(table->table); |
xmlFree(table->table); |
free(table); |
xmlFree(table); |
} |
} |
|
|
/** |
/** |