summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/tools/pdfshow.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/tools/pdfshow.c b/source/tools/pdfshow.c
index b9687150..0ed111bb 100644
--- a/source/tools/pdfshow.c
+++ b/source/tools/pdfshow.c
@@ -213,8 +213,13 @@ fz_print_outline(fz_context *ctx, fz_output *out, fz_outline *outline, int level
int i;
while (outline)
{
+ if (outline->down)
+ fz_write_byte(ctx, out, outline->is_open ? '-' : '+');
+ else
+ fz_write_byte(ctx, out, '|');
+
for (i = 0; i < level; i++)
- fz_write_printf(ctx, out, "\t");
+ fz_write_byte(ctx, out, '\t');
fz_write_printf(ctx, out, "%s\t%s\n", outline->title, outline->uri);
if (outline->down)
fz_print_outline(ctx, out, outline->down, level + 1);
@@ -226,7 +231,7 @@ static void showoutline(void)
{
fz_outline *outline = fz_load_outline(ctx, (fz_document*)doc);
fz_try(ctx)
- fz_print_outline(ctx, fz_stdout(ctx), outline, 0);
+ fz_print_outline(ctx, fz_stdout(ctx), outline, 1);
fz_always(ctx)
fz_drop_outline(ctx, outline);
fz_catch(ctx)