/*
- * "$Id: cupstestdsc.c 5320 2006-03-21 19:03:25Z mike $"
+ * "$Id: cupstestdsc.c 5392 2006-04-14 17:50:39Z mike $"
*
* DSC test program for the Common UNIX Printing System (CUPS).
*
*
* Contents:
*
+ * main() - Main entry for test program.
+ * check() - Check a file for conformance.
+ * usage() - Show program usage.
*/
/*
/*
- * 'check()' - Main entry for test program.
+ * 'check()' - Check a file for conformance.
*/
static int /* O - 0 on success, 1 on failure */
int lbrt[4]; /* Bounding box */
char page_label[256]; /* Page label string */
int page_number; /* Page number */
+ int last_page_number; /* Last page number seen */
int level; /* Embedded document level */
int saw_bounding_box, /* %%BoundingBox seen? */
saw_pages, /* %%Pages seen? */
*/
binary = 0;
+ last_page_number = 0;
level = 0;
linenum = 0;
saw_begin_prolog = 0;
{
if (!strncmp(line, "%%Page:", 7))
{
- if (sscanf(line + 7, "%255s%d", page_label, &page_number) != 2)
+ if (sscanf(line + 7, "%255s%d", page_label, &page_number) != 2 ||
+ page_number != (last_page_number + 1) || page_number < 1)
{
if (!status)
_cupsLangPuts(stdout, _("FAIL\n"));
linenum);
}
else
- saw_page = 1;
+ {
+ last_page_number = page_number;
+ saw_page = 1;
+ }
}
else if (!strncmp(line, "%%BeginProlog", 13))
saw_begin_prolog = 1;
/*
- * End of "$Id: cupstestdsc.c 5320 2006-03-21 19:03:25Z mike $".
+ * End of "$Id: cupstestdsc.c 5392 2006-04-14 17:50:39Z mike $".
*/