diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/GsWidget.cxx | 4 | ||||
-rw-r--r-- | src/PostscriptDSC.cxx | 12 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/GsWidget.cxx b/src/GsWidget.cxx index c71ab11..6f5eb44 100644 --- a/src/GsWidget.cxx +++ b/src/GsWidget.cxx @@ -168,7 +168,7 @@ int GsWidget::load() { pid_t pid; if (dsc) { - return load_page(0); + return load_page(1); } if (in_fd < 0) { @@ -208,7 +208,7 @@ GsWidget::load_page(int p) { return 1; } - if (p < 0 || p >= dsc->get_pages()) { + if (p < 1 || p > dsc->get_pages()) { fprintf(stderr, "Page %d not found in document\n", p); return 1; } diff --git a/src/PostscriptDSC.cxx b/src/PostscriptDSC.cxx index 3062763..b8b998a 100644 --- a/src/PostscriptDSC.cxx +++ b/src/PostscriptDSC.cxx @@ -156,12 +156,20 @@ PostscriptDSC::get_setup_len() { size_t PostscriptDSC::get_page_off(int p) { - return page_off[p]; + if (p < 1 || p > pages) { + return 0; + } else { + return page_off[p - 1]; + } } size_t PostscriptDSC::get_page_len(int p) { - return page_len[p]; + if (p < 1 || p > pages) { + return 0; + } else { + return page_len[p - 1]; + } } void |