summaryrefslogtreecommitdiff
path: root/fitz/doc_outline.c
diff options
context:
space:
mode:
Diffstat (limited to 'fitz/doc_outline.c')
-rw-r--r--fitz/doc_outline.c36
1 files changed, 24 insertions, 12 deletions
diff --git a/fitz/doc_outline.c b/fitz/doc_outline.c
index b69debaf..71694851 100644
--- a/fitz/doc_outline.c
+++ b/fitz/doc_outline.c
@@ -1,4 +1,4 @@
-#include "fitz.h"
+#include "fitz-internal.h"
void
fz_free_outline(fz_context *ctx, fz_outline *outline)
@@ -14,37 +14,49 @@ fz_free_outline(fz_context *ctx, fz_outline *outline)
}
}
-void
-fz_debug_outline_xml(fz_context *ctx, fz_outline *outline, int level)
+static void
+do_debug_outline_xml(FILE *out, fz_outline *outline, int level)
{
while (outline)
{
- printf("<outline title=\"%s\" page=\"%d\"", outline->title, outline->dest.kind == FZ_LINK_GOTO ? outline->dest.ld.gotor.page + 1 : 0);
+ fprintf(out, "<outline title=\"%s\" page=\"%d\"", outline->title, outline->dest.kind == FZ_LINK_GOTO ? outline->dest.ld.gotor.page + 1 : 0);
if (outline->down)
{
- printf(">\n");
- fz_debug_outline_xml(ctx, outline->down, level + 1);
- printf("</outline>\n");
+ fprintf(out, ">\n");
+ do_debug_outline_xml(out, outline->down, level + 1);
+ fprintf(out, "</outline>\n");
}
else
{
- printf(" />\n");
+ fprintf(out, " />\n");
}
outline = outline->next;
}
}
void
-fz_debug_outline(fz_context *ctx, fz_outline *outline, int level)
+fz_print_outline_xml(fz_context *ctx, FILE *out, fz_outline *outline)
+{
+ do_debug_outline_xml(out, outline, 0);
+}
+
+static void
+do_debug_outline(FILE *out, fz_outline *outline, int level)
{
int i;
while (outline)
{
for (i = 0; i < level; i++)
- putchar('\t');
- printf("%s\t%d\n", outline->title, outline->dest.kind == FZ_LINK_GOTO ? outline->dest.ld.gotor.page + 1 : 0);
+ fputc('\t', out);
+ fprintf(out, "%s\t%d\n", outline->title, outline->dest.kind == FZ_LINK_GOTO ? outline->dest.ld.gotor.page + 1 : 0);
if (outline->down)
- fz_debug_outline(ctx, outline->down, level + 1);
+ do_debug_outline(out, outline->down, level + 1);
outline = outline->next;
}
}
+
+void
+fz_print_outline(fz_context *ctx, FILE *out, fz_outline *outline)
+{
+ do_debug_outline(out, outline, 0);
+}