void TIDY_CALL tidyBufAllocWithAllocator( TidyBuffer* buf, TidyAllocator *allocator, uint allocSize ) { tidyBufInitWithAllocator( buf, allocator ); tidyBufCheckAlloc( buf, allocSize, 0 ); buf->next = 0; }
int tidyDocParseString( TidyDocImpl* doc, ctmbstr content ) { int status = -EINVAL; TidyBuffer inbuf; StreamIn* in = NULL; if ( content ) { tidyBufInitWithAllocator( &inbuf, doc->allocator ); tidyBufAttach( &inbuf, (byte*)content, TY_(tmbstrlen)(content)+1 ); in = TY_(BufferInput)( doc, &inbuf, cfg( doc, TidyInCharEncoding )); status = TY_(DocParseStream)( doc, in ); tidyBufDetach( &inbuf ); TY_(freeStreamIn)(in); } return status; }
int tidyDocSaveString( TidyDocImpl* doc, tmbstr buffer, uint* buflen ) { uint outenc = cfg( doc, TidyOutCharEncoding ); uint nl = cfg( doc, TidyNewline ); TidyBuffer outbuf; StreamOut* out; int status; tidyBufInitWithAllocator( &outbuf, doc->allocator ); out = TY_(BufferOutput)( doc, &outbuf, outenc, nl ); status = tidyDocSaveStream( doc, out ); if ( outbuf.size > *buflen ) status = -ENOMEM; else memcpy( buffer, outbuf.bp, outbuf.size ); *buflen = outbuf.size; tidyBufFree( &outbuf ); TidyDocFree( doc, out ); return status; }
void TIDY_CALL tidyBufFree( TidyBuffer* buf ) { assert( buf != NULL ); TidyFree( buf->allocator, buf->bp ); tidyBufInitWithAllocator( buf, buf->allocator ); }
void TIDY_CALL tidyBufInit( TidyBuffer* buf ) { assert( buf != NULL ); tidyBufInitWithAllocator( buf, NULL ); }
/* Clear pointer to memory w/out deallocation */ void TIDY_CALL tidyBufDetach( TidyBuffer* buf ) { tidyBufInitWithAllocator( buf, buf->allocator ); }