summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-page.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/pdf/pdf-page.c')
-rw-r--r--source/pdf/pdf-page.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/pdf/pdf-page.c b/source/pdf/pdf-page.c
index 088cf0d2..9fa96261 100644
--- a/source/pdf/pdf-page.c
+++ b/source/pdf/pdf-page.c
@@ -623,8 +623,17 @@ pdf_delete_page(fz_context *ctx, pdf_document *doc, int at)
void
pdf_delete_page_range(fz_context *ctx, pdf_document *doc, int start, int end)
{
+ int count = pdf_count_pages(ctx, doc);
+
+ if (end < 0 || end > count)
+ end = count+1;
+ if (start < 0)
+ start = 0;
while (start < end)
- pdf_delete_page(ctx, doc, start++);
+ {
+ pdf_delete_page(ctx, doc, start);
+ end--;
+ }
}
pdf_obj *