MCPcopy Create free account
hub / github.com/OpenPrinting/cups / copy_prolog

Function copy_prolog

filter/pstops.c:1678–1722  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1676 */
1677
1678static ssize_t /* O - Length of next line */
1679copy_prolog(cups_file_t *fp, /* I - File to read from */
1680 pstops_doc_t *doc, /* I - Document info */
1681 ppd_file_t *ppd, /* I - PPD file */
1682 char *line, /* I - Line buffer */
1683 ssize_t linelen, /* I - Length of initial line */
1684 size_t linesize) /* I - Size of line buffer */
1685{
1686 while (strncmp(line, "%%BeginProlog", 13))
1687 {
1688 if (!strncmp(line, "%%BeginSetup", 12) || !strncmp(line, "%%Page:", 7))
1689 break;
1690
1691 doc_write(doc, line, (size_t)linelen);
1692
1693 if ((linelen = (ssize_t)cupsFileGetLine(fp, line, linesize)) == 0)
1694 break;
1695 }
1696
1697 doc_puts(doc, "%%BeginProlog\n");
1698
1699 do_prolog(doc, ppd);
1700
1701 if (!strncmp(line, "%%BeginProlog", 13))
1702 {
1703 while ((linelen = (ssize_t)cupsFileGetLine(fp, line, linesize)) > 0)
1704 {
1705 if (!strncmp(line, "%%EndProlog", 11) ||
1706 !strncmp(line, "%%BeginSetup", 12) ||
1707 !strncmp(line, "%%Page:", 7))
1708 break;
1709
1710 doc_write(doc, line, (size_t)linelen);
1711 }
1712
1713 if (!strncmp(line, "%%EndProlog", 11))
1714 linelen = (ssize_t)cupsFileGetLine(fp, line, linesize);
1715 else
1716 fputs("DEBUG: The %%EndProlog comment is missing.\n", stderr);
1717 }
1718
1719 doc_puts(doc, "%%EndProlog\n");
1720
1721 return (linelen);
1722}
1723
1724
1725/*

Callers 1

copy_dscFunction · 0.85

Calls 4

doc_writeFunction · 0.85
cupsFileGetLineFunction · 0.85
doc_putsFunction · 0.85
do_prologFunction · 0.85

Tested by

no test coverage detected