--- a/apps/pdfapp.c +++ b/apps/pdfapp.c @@ -285,8 +287,20 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repai if (drawpage) { - sprintf(buf, "%s - %d/%d (%d dpi)", app->doctitle, + char buf2[64]; + int len; + + sprintf(buf2, " - %d/%d (%d dpi)", app->pageno, app->pagecount, app->resolution); + len = MAX_TITLE-strlen(buf2); + if (strlen(app->doctitle) > len) + { + snprintf(buf, len-3, "%s", app->doctitle); + strcat(buf, "..."); + strcat(buf, buf2); + } + else + sprintf(buf, "%s%s", app->doctitle, buf2); wintitle(app, buf); ctm = pdfapp_viewctm(app); -- --- apps/pdfapp.c 2012-03-14 21:50:05.673159926 +0400 +++ b/apps/pdfapp.c 2012-03-14 21:50:36.621159125 +0400 @@ -339,7 +339,7 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repaint) { - char buf[256]; + char buf[MAX_TITLE]; fz_device *idev; fz_device *tdev; fz_colorspace *colorspace; --- apps/pdfapp.c 2012-03-14 21:53:20.659154121 +0400 +++ b/apps/pdfapp.c 2012-03-14 21:55:33.566150087 +0400 @@ -336,7 +336,7 @@ xps_free_page(app->xps, page); } - +#define MAX_TITLE 256 static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repaint) { char buf[MAX_TITLE];