Implement our own output buffering inside saxdb.
authorMichael Poole <mdpoole@troilus.org>
Sun, 30 Mar 2008 04:00:48 +0000 (00:00 -0400)
committerMichael Poole <mdpoole@troilus.org>
Sun, 30 Mar 2008 04:00:48 +0000 (00:00 -0400)
commit51f30f56bff7e6ab410e1d353acb2a3f23c7cfc7
tree2d33f7e2f651f4de3098b606461589e7f024783d
parent591505ef854aecb6b35c00fca9d58d54fe513eb8
Implement our own output buffering inside saxdb.

src/saxdb.c (SAXDB_BUFFER_SIZE): Default to 32 KB if not already defined.
  (struct saxdb_context): Add "obuf" member.
  (saxdb_flush): Define new helper function.
  (saxdb_put_char): Convert to function.
  (saxdb_put_nchars): Update to use "obuf" and saxdb_flush().
  (saxdb_put_string): Update to use saxdb_put_nchars().
  (saxdb_put_qstring): Likewise.
  (saxdb_open_context): Allocate space for ctx->obuf.
  (saxdb_close_context): Flush the buffer and free ctx->obuf.
src/saxdb.c