tree 6cf7ade04a7033809b4d02786a008e05baf8ae9a
parent 5196cf634cddabde8963306ab99f86c3840fbbbb
author Christian Persch <chpe@src.gnome.org> 1546362978 +0100
committer Albert Astals Cid <tsdgeos@yahoo.es> 1546860230 +0000

glib: Fix named destinations

Named destinations may be described by bytestrings, containing
embedded NULs and not being NUL terminated. That means they cannot
be exposed directly as char*.

The alternatives are to escape the string from the internal representation
when exposing it in the API (e.g. in PopplerDest.named_dest), or to
add parallel API exposing it as GString, or GBytes. This patch chooses
the first option, since the presence of these named destionations in the
public, not sealed, PopplerDest struct means that the second option would
need more API additions. The chosen option is simpler, and does not
need the API users to adapt unless they create the named dest strings
themselves, or consume them in ways other than calling poppler APIs.

The escaping scheme chosen simply replaces embedded NUL with "\0" and
escapes a literal backslash with "\\".  This is a minimal ABI change in
that some strings that previously worked unchanged as destinations
(those containing backslash) now don't work, but on the other hand,
previously it was impossible to use any destinations containing embedded
NULs.

Add poppler_named_dest_{from,to}_bytestring() to perform that
conversion, and clarify the documentation for when you need them.

Based on a patch by José Aliste <jaliste@src.gnome.org>.

https://gitlab.freedesktop.org/poppler/poppler/issues/631
