Lines Matching refs:pool
396 STRING_POOL pool; member
516 STRING_POOL *pool,
521 const char *end, STRING_POOL *pool,
564 static void FASTCALL poolInit(STRING_POOL *pool,
566 static void FASTCALL poolClear(STRING_POOL *pool);
567 static void FASTCALL poolDestroy(STRING_POOL *pool);
568 static XML_Char *poolAppend(STRING_POOL *pool, const ENCODING *enc,
570 static XML_Char *poolStoreString(STRING_POOL *pool, const ENCODING *enc,
572 static XML_Bool FASTCALL poolGrow(STRING_POOL *pool);
573 static const XML_Char *FASTCALL poolCopyString(STRING_POOL *pool,
575 static const XML_Char *poolCopyStringN(STRING_POOL *pool, const XML_Char *s,
577 static const XML_Char *FASTCALL poolAppendString(STRING_POOL *pool,
625 #define poolStart(pool) ((pool)->start) argument
626 #define poolLength(pool) ((pool)->ptr - (pool)->start) argument
627 #define poolChop(pool) ((void)--(pool->ptr)) argument
628 #define poolLastChar(pool) (((pool)->ptr)[-1]) argument
629 #define poolDiscard(pool) ((pool)->ptr = (pool)->start) argument
630 #define poolFinish(pool) ((pool)->start = (pool)->ptr) argument
631 #define poolAppendChar(pool, c) \ argument
632 (((pool)->ptr == (pool)->end && ! poolGrow(pool)) \
634 : ((*((pool)->ptr)++ = c), 1))
1653 p = poolCopyString(&parser->m_dtd->pool, p); in XML_SetBase()
2926 name = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar, in doContent()
2931 poolDiscard(&dtd->pool); in doContent()
3348 const XML_Char *name = poolCopyString(&dtd->pool, tagNamePtr->str); in storeAtts()
4873 = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar, in doProlog()
4879 poolFinish(&dtd->pool); in doProlog()
5078 s + enc->minBytesPerChar, next - enc->minBytesPerChar, &dtd->pool, in doProlog()
5082 attVal = poolStart(&dtd->pool); in doProlog()
5083 poolFinish(&dtd->pool); in doProlog()
5198 = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar, in doProlog()
5203 poolFinish(&dtd->pool); in doProlog()
5235 = poolStoreString(&dtd->pool, enc, s, next); in doProlog()
5238 poolFinish(&dtd->pool); in doProlog()
5262 const XML_Char *name = poolStoreString(&dtd->pool, enc, s, next); in doProlog()
5270 poolDiscard(&dtd->pool); in doProlog()
5273 poolFinish(&dtd->pool); in doProlog()
5285 poolDiscard(&dtd->pool); in doProlog()
5292 const XML_Char *name = poolStoreString(&dtd->pool, enc, s, next); in doProlog()
5300 poolDiscard(&dtd->pool); in doProlog()
5303 poolFinish(&dtd->pool); in doProlog()
5315 poolDiscard(&dtd->pool); in doProlog()
5488 name = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar, in doProlog()
5493 poolDiscard(&dtd->pool); in doProlog()
5976 const char *ptr, const char *end, STRING_POOL *pool, in storeAttributeValue() argument
5979 = appendAttributeValue(parser, enc, isCdata, ptr, end, pool, account); in storeAttributeValue()
5982 if (! isCdata && poolLength(pool) && poolLastChar(pool) == 0x20) in storeAttributeValue()
5983 poolChop(pool); in storeAttributeValue()
5984 if (! poolAppendChar(pool, XML_T('\0'))) in storeAttributeValue()
5991 const char *ptr, const char *end, STRING_POOL *pool, in appendAttributeValue() argument
6029 && (poolLength(pool) == 0 || poolLastChar(pool) == 0x20)) in appendAttributeValue()
6042 if (! poolAppendChar(pool, buf[i])) in appendAttributeValue()
6047 if (! poolAppend(pool, enc, ptr, next)) in appendAttributeValue()
6055 if (! isCdata && (poolLength(pool) == 0 || poolLastChar(pool) == 0x20)) in appendAttributeValue()
6057 if (! poolAppendChar(pool, 0x20)) in appendAttributeValue()
6075 if (! poolAppendChar(pool, ch)) in appendAttributeValue()
6089 if (pool == &dtd->pool) /* are we called from prolog? */ in appendAttributeValue()
6157 (const char *)textEnd, pool, in appendAttributeValue()
6195 STRING_POOL *pool = &(dtd->entityValuePool); in storeEntityValue() local
6206 if (! pool->blocks) { in storeEntityValue()
6207 if (! poolGrow(pool)) in storeEntityValue()
6298 if (! poolAppend(pool, enc, entityTextPtr, next)) { in storeEntityValue()
6307 if (pool->end == pool->ptr && ! poolGrow(pool)) { in storeEntityValue()
6311 *(pool->ptr)++ = 0xA; in storeEntityValue()
6334 if (pool->end == pool->ptr && ! poolGrow(pool)) { in storeEntityValue()
6338 *(pool->ptr)++ = buf[i]; in storeEntityValue()
6383 STRING_POOL *const pool = &(parser->m_dtd->entityValuePool); in storeSelfEntityValue() local
6384 if (! poolAppendString(pool, entity_start) in storeSelfEntityValue()
6385 || ! poolAppendString(pool, entity->name) in storeSelfEntityValue()
6386 || ! poolAppendString(pool, entity_end)) { in storeSelfEntityValue()
6387 poolDiscard(pool); in storeSelfEntityValue()
6391 entity->textPtr = poolStart(pool); in storeSelfEntityValue()
6392 entity->textLen = (int)(poolLength(pool)); in storeSelfEntityValue()
6393 poolFinish(pool); in storeSelfEntityValue()
6585 if (! poolAppendChar(&dtd->pool, *s)) in setElementTypePrefix()
6588 if (! poolAppendChar(&dtd->pool, XML_T('\0'))) in setElementTypePrefix()
6590 prefix = (PREFIX *)lookup(parser, &dtd->prefixes, poolStart(&dtd->pool), in setElementTypePrefix()
6594 if (prefix->name == poolStart(&dtd->pool)) in setElementTypePrefix()
6595 poolFinish(&dtd->pool); in setElementTypePrefix()
6597 poolDiscard(&dtd->pool); in setElementTypePrefix()
6611 if (! poolAppendChar(&dtd->pool, XML_T('\0'))) in getAttributeId()
6613 name = poolStoreString(&dtd->pool, enc, start, end); in getAttributeId()
6623 poolDiscard(&dtd->pool); in getAttributeId()
6625 poolFinish(&dtd->pool); in getAttributeId()
6645 if (! poolAppendChar(&dtd->pool, name[j])) in getAttributeId()
6648 if (! poolAppendChar(&dtd->pool, XML_T('\0'))) in getAttributeId()
6651 poolStart(&dtd->pool), sizeof(PREFIX)); in getAttributeId()
6654 if (id->prefix->name == poolStart(&dtd->pool)) in getAttributeId()
6655 poolFinish(&dtd->pool); in getAttributeId()
6657 poolDiscard(&dtd->pool); in getAttributeId()
6799 prefix->name = poolCopyString(&dtd->pool, prefix->name); in setContext()
6854 poolInit(&(p->pool), ms); in dtdCreate()
6900 poolClear(&(p->pool)); in dtdReset()
6940 poolDestroy(&(p->pool)); in dtdDestroy()
6965 name = poolCopyString(&(newDtd->pool), oldP->name); in dtdCopy()
6984 if (! poolAppendChar(&(newDtd->pool), XML_T('\0'))) in dtdCopy()
6986 name = poolCopyString(&(newDtd->pool), oldA->name); in dtdCopy()
7016 name = poolCopyString(&(newDtd->pool), oldE->name); in dtdCopy()
7053 = poolCopyString(&(newDtd->pool), oldE->defaultAtts[i].value); in dtdCopy()
7062 if (! copyEntityTable(oldParser, &(newDtd->generalEntities), &(newDtd->pool), in dtdCopy()
7067 if (! copyEntityTable(oldParser, &(newDtd->paramEntities), &(newDtd->pool), in dtdCopy()
7319 poolInit(STRING_POOL *pool, const XML_Memory_Handling_Suite *ms) { in poolInit() argument
7320 pool->blocks = NULL; in poolInit()
7321 pool->freeBlocks = NULL; in poolInit()
7322 pool->start = NULL; in poolInit()
7323 pool->ptr = NULL; in poolInit()
7324 pool->end = NULL; in poolInit()
7325 pool->mem = ms; in poolInit()
7329 poolClear(STRING_POOL *pool) { in poolClear() argument
7330 if (! pool->freeBlocks) in poolClear()
7331 pool->freeBlocks = pool->blocks; in poolClear()
7333 BLOCK *p = pool->blocks; in poolClear()
7336 p->next = pool->freeBlocks; in poolClear()
7337 pool->freeBlocks = p; in poolClear()
7341 pool->blocks = NULL; in poolClear()
7342 pool->start = NULL; in poolClear()
7343 pool->ptr = NULL; in poolClear()
7344 pool->end = NULL; in poolClear()
7348 poolDestroy(STRING_POOL *pool) { in poolDestroy() argument
7349 BLOCK *p = pool->blocks; in poolDestroy()
7352 pool->mem->free_fcn(p); in poolDestroy()
7355 p = pool->freeBlocks; in poolDestroy()
7358 pool->mem->free_fcn(p); in poolDestroy()
7364 poolAppend(STRING_POOL *pool, const ENCODING *enc, const char *ptr, in poolAppend() argument
7366 if (! pool->ptr && ! poolGrow(pool)) in poolAppend()
7370 enc, &ptr, end, (ICHAR **)&(pool->ptr), (const ICHAR *)pool->end); in poolAppend()
7374 if (! poolGrow(pool)) in poolAppend()
7377 return pool->start; in poolAppend()
7381 poolCopyString(STRING_POOL *pool, const XML_Char *s) { in poolCopyString() argument
7383 if (! poolAppendChar(pool, *s)) in poolCopyString()
7386 s = pool->start; in poolCopyString()
7387 poolFinish(pool); in poolCopyString()
7392 poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n) { in poolCopyStringN() argument
7393 if (! pool->ptr && ! poolGrow(pool)) { in poolCopyStringN()
7408 if (! poolAppendChar(pool, *s)) in poolCopyStringN()
7411 s = pool->start; in poolCopyStringN()
7412 poolFinish(pool); in poolCopyStringN()
7417 poolAppendString(STRING_POOL *pool, const XML_Char *s) { in poolAppendString() argument
7419 if (! poolAppendChar(pool, *s)) in poolAppendString()
7423 return pool->start; in poolAppendString()
7427 poolStoreString(STRING_POOL *pool, const ENCODING *enc, const char *ptr, in poolStoreString() argument
7429 if (! poolAppend(pool, enc, ptr, end)) in poolStoreString()
7431 if (pool->ptr == pool->end && ! poolGrow(pool)) in poolStoreString()
7433 *(pool->ptr)++ = 0; in poolStoreString()
7434 return pool->start; in poolStoreString()
7466 poolGrow(STRING_POOL *pool) { in poolGrow() argument
7467 if (pool->freeBlocks) { in poolGrow()
7468 if (pool->start == 0) { in poolGrow()
7469 pool->blocks = pool->freeBlocks; in poolGrow()
7470 pool->freeBlocks = pool->freeBlocks->next; in poolGrow()
7471 pool->blocks->next = NULL; in poolGrow()
7472 pool->start = pool->blocks->s; in poolGrow()
7473 pool->end = pool->start + pool->blocks->size; in poolGrow()
7474 pool->ptr = pool->start; in poolGrow()
7477 if (pool->end - pool->start < pool->freeBlocks->size) { in poolGrow()
7478 BLOCK *tem = pool->freeBlocks->next; in poolGrow()
7479 pool->freeBlocks->next = pool->blocks; in poolGrow()
7480 pool->blocks = pool->freeBlocks; in poolGrow()
7481 pool->freeBlocks = tem; in poolGrow()
7482 memcpy(pool->blocks->s, pool->start, in poolGrow()
7483 (pool->end - pool->start) * sizeof(XML_Char)); in poolGrow()
7484 pool->ptr = pool->blocks->s + (pool->ptr - pool->start); in poolGrow()
7485 pool->start = pool->blocks->s; in poolGrow()
7486 pool->end = pool->start + pool->blocks->size; in poolGrow()
7490 if (pool->blocks && pool->start == pool->blocks->s) { in poolGrow()
7492 int blockSize = (int)((unsigned)(pool->end - pool->start) * 2U); in poolGrow()
7497 const ptrdiff_t offsetInsideBlock = pool->ptr - pool->start; in poolGrow()
7513 temp = (BLOCK *)pool->mem->realloc_fcn(pool->blocks, in poolGrow()
7517 pool->blocks = temp; in poolGrow()
7518 pool->blocks->size = blockSize; in poolGrow()
7519 pool->ptr = pool->blocks->s + offsetInsideBlock; in poolGrow()
7520 pool->start = pool->blocks->s; in poolGrow()
7521 pool->end = pool->start + blockSize; in poolGrow()
7524 int blockSize = (int)(pool->end - pool->start); in poolGrow()
7554 tem = pool->mem->malloc_fcn(bytesToAllocate); in poolGrow()
7558 tem->next = pool->blocks; in poolGrow()
7559 pool->blocks = tem; in poolGrow()
7560 if (pool->ptr != pool->start) in poolGrow()
7561 memcpy(tem->s, pool->start, (pool->ptr - pool->start) * sizeof(XML_Char)); in poolGrow()
7562 pool->ptr = tem->s + (pool->ptr - pool->start); in poolGrow()
7563 pool->start = tem->s; in poolGrow()
7564 pool->end = tem->s + blockSize; in poolGrow()
7770 const XML_Char *name = poolStoreString(&dtd->pool, enc, ptr, end); in getElementType()
7780 poolDiscard(&dtd->pool); in getElementType()
7782 poolFinish(&dtd->pool); in getElementType()