]> granicus.if.org Git - graphviz/commit
xml_string0: outline the inner loop body functionality
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 2 Oct 2021 01:35:26 +0000 (18:35 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Fri, 8 Oct 2021 14:41:48 +0000 (07:41 -0700)
commit8be94c8e968fa4d152c3b1339bf7e5379f1cd23a
tree570e9fa3cf704d6a4c980aac1bae32863239051a
parentcdfa37349e45454b43dc3eed3e62f47e3105f896
xml_string0: outline the inner loop body functionality

The motivation for this change is to move towards consolidating XML-escaping
functionality. The introduced function, `xml_core`, is intended to be usable by
`xml_url_string` and other Graphviz XML escaping functions in future.

This aim of consolidation hopefully also explains why this change looks more
complicated than might be expected. It is intended to be functionally a no-op.
But `xml_core` takes a generalized callback and state because it is imagined a
future caller may want to pass in, e.g. `gvputs` as their target sink for
XML-escaped data. That is, future changes may side step the static buffer usage
and allocation that happens in `xml_string0` and instead pump bytes directly
into a final target file.

Related to #1868
lib/common/xml.c