mirror of
https://github.com/michaelrsweet/pdfio.git
synced 2024-12-26 13:28:22 +01:00
Fix Coverity-discovered issues.
This commit is contained in:
parent
caf398d72c
commit
ee5fcc2a4a
@ -157,7 +157,10 @@ _pdfioFileGets(pdfio_file_t *pdf, // I - PDF file
|
|||||||
{
|
{
|
||||||
// Check for a LF after CR
|
// Check for a LF after CR
|
||||||
if (pdf->bufptr >= pdf->bufend)
|
if (pdf->bufptr >= pdf->bufend)
|
||||||
fill_buffer(pdf);
|
{
|
||||||
|
if (!fill_buffer(pdf))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (pdf->bufptr < pdf->bufend && *(pdf->bufptr) == '\n')
|
if (pdf->bufptr < pdf->bufend && *(pdf->bufptr) == '\n')
|
||||||
pdf->bufptr ++;
|
pdf->bufptr ++;
|
||||||
|
@ -1144,7 +1144,6 @@ pdfioImageGetBytesPerLine(
|
|||||||
{
|
{
|
||||||
pdfio_dict_t *params; // DecodeParms value
|
pdfio_dict_t *params; // DecodeParms value
|
||||||
int width, // Width of image
|
int width, // Width of image
|
||||||
height, // Height of image
|
|
||||||
bpc, // BitsPerComponent of image
|
bpc, // BitsPerComponent of image
|
||||||
colors; // Number of colors in image
|
colors; // Number of colors in image
|
||||||
|
|
||||||
@ -1156,7 +1155,6 @@ pdfioImageGetBytesPerLine(
|
|||||||
bpc = (int)pdfioDictGetNumber(params, "BitsPerComponent");
|
bpc = (int)pdfioDictGetNumber(params, "BitsPerComponent");
|
||||||
colors = (int)pdfioDictGetNumber(params, "Colors");
|
colors = (int)pdfioDictGetNumber(params, "Colors");
|
||||||
width = (int)pdfioDictGetNumber(params, "Columns");
|
width = (int)pdfioDictGetNumber(params, "Columns");
|
||||||
height = (int)pdfioDictGetNumber(obj->value.value.dict, "Height");
|
|
||||||
|
|
||||||
if (width == 0)
|
if (width == 0)
|
||||||
width = (int)pdfioDictGetNumber(obj->value.value.dict, "Width");
|
width = (int)pdfioDictGetNumber(obj->value.value.dict, "Width");
|
||||||
|
17
pdfio-file.c
17
pdfio-file.c
@ -628,7 +628,12 @@ pdfioFileOpen(
|
|||||||
pdf->version = strdup(line + 5);
|
pdf->version = strdup(line + 5);
|
||||||
|
|
||||||
// Grab the last 32 characters of the file to find the start of the xref table...
|
// Grab the last 32 characters of the file to find the start of the xref table...
|
||||||
_pdfioFileSeek(pdf, -32, SEEK_END);
|
if (_pdfioFileSeek(pdf, -32, SEEK_END) < 0)
|
||||||
|
{
|
||||||
|
_pdfioFileError(pdf, "Unable to read startxref data.");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
if (_pdfioFileRead(pdf, line, 32) < 32)
|
if (_pdfioFileRead(pdf, line, 32) < 32)
|
||||||
{
|
{
|
||||||
_pdfioFileError(pdf, "Unable to read startxref data.");
|
_pdfioFileError(pdf, "Unable to read startxref data.");
|
||||||
@ -1357,16 +1362,16 @@ write_trailer(pdfio_file_t *pdf) // I - PDF file
|
|||||||
if ((fd = open("/dev/urandom", O_RDONLY)) >= 0)
|
if ((fd = open("/dev/urandom", O_RDONLY)) >= 0)
|
||||||
{
|
{
|
||||||
// Load ID array with random values from /dev/urandom...
|
// Load ID array with random values from /dev/urandom...
|
||||||
memset(id_values, 0, sizeof(id_values));
|
if (read(fd, id_values[0], sizeof(id_values[0])) == (ssize_t)sizeof(id_values[0]) && read(fd, id_values[1], sizeof(id_values[1])) == (ssize_t)sizeof(id_values[1]))
|
||||||
read(fd, id_values[0], sizeof(id_values[0]));
|
{
|
||||||
read(fd, id_values[1], sizeof(id_values[1]));
|
|
||||||
close(fd);
|
|
||||||
|
|
||||||
pdf->id_array = pdfioArrayCreate(pdf);
|
pdf->id_array = pdfioArrayCreate(pdf);
|
||||||
pdfioArrayAppendBinary(pdf->id_array, id_values[0], sizeof(id_values[0]));
|
pdfioArrayAppendBinary(pdf->id_array, id_values[0], sizeof(id_values[0]));
|
||||||
pdfioArrayAppendBinary(pdf->id_array, id_values[1], sizeof(id_values[1]));
|
pdfioArrayAppendBinary(pdf->id_array, id_values[1], sizeof(id_values[1]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
pdf->trailer = pdfioDictCreate(pdf);
|
pdf->trailer = pdfioDictCreate(pdf);
|
||||||
if (pdf->encrypt)
|
if (pdf->encrypt)
|
||||||
pdfioDictSetObject(pdf->trailer, "Encrypt", pdf->encrypt);
|
pdfioDictSetObject(pdf->trailer, "Encrypt", pdf->encrypt);
|
||||||
|
@ -336,7 +336,11 @@ _pdfioStreamOpen(pdfio_obj_t *obj, // I - Object
|
|||||||
st->pdf = obj->pdf;
|
st->pdf = obj->pdf;
|
||||||
st->obj = obj;
|
st->obj = obj;
|
||||||
|
|
||||||
_pdfioFileSeek(st->pdf, obj->stream_offset, SEEK_SET);
|
if (_pdfioFileSeek(st->pdf, obj->stream_offset, SEEK_SET) != obj->stream_offset)
|
||||||
|
{
|
||||||
|
free(st);
|
||||||
|
return (NULL);
|
||||||
|
}
|
||||||
|
|
||||||
if ((st->remaining = pdfioObjGetLength(obj)) == 0)
|
if ((st->remaining = pdfioObjGetLength(obj)) == 0)
|
||||||
{
|
{
|
||||||
@ -646,15 +650,11 @@ pdfioStreamWrite(
|
|||||||
const void *buffer, // I - Data to write
|
const void *buffer, // I - Data to write
|
||||||
size_t bytes) // I - Number of bytes to write
|
size_t bytes) // I - Number of bytes to write
|
||||||
{
|
{
|
||||||
size_t pbpixel = st->pbpixel,
|
size_t pbpixel, // Size of pixel in bytes
|
||||||
// Size of pixel in bytes
|
pbline, // Bytes per line
|
||||||
pbline = st->pbsize - 1,
|
|
||||||
// Bytes per line
|
|
||||||
remaining; // Remaining bytes on this line
|
remaining; // Remaining bytes on this line
|
||||||
const unsigned char *bufptr = (const unsigned char *)buffer,
|
const unsigned char *bufptr, // Pointer into buffer
|
||||||
// Pointer into buffer
|
*bufsecond; // Pointer to second pixel in buffer
|
||||||
*bufsecond = buffer + pbpixel;
|
|
||||||
// Pointer to second pixel in buffer
|
|
||||||
unsigned char *sptr, // Pointer into sbuffer
|
unsigned char *sptr, // Pointer into sbuffer
|
||||||
*pptr; // Previous raw buffer
|
*pptr; // Previous raw buffer
|
||||||
|
|
||||||
@ -672,6 +672,8 @@ pdfioStreamWrite(
|
|||||||
return (_pdfioFileWrite(st->pdf, buffer, bytes));
|
return (_pdfioFileWrite(st->pdf, buffer, bytes));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pbline = st->pbsize - 1;
|
||||||
|
|
||||||
if (st->predictor == _PDFIO_PREDICTOR_NONE)
|
if (st->predictor == _PDFIO_PREDICTOR_NONE)
|
||||||
{
|
{
|
||||||
// No predictor, just write it out straight...
|
// No predictor, just write it out straight...
|
||||||
@ -683,6 +685,10 @@ pdfioStreamWrite(
|
|||||||
return (false);
|
return (false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pbpixel = st->pbpixel;
|
||||||
|
bufptr = (const unsigned char *)buffer;
|
||||||
|
bufsecond = buffer + pbpixel;
|
||||||
|
|
||||||
while (bytes > 0)
|
while (bytes > 0)
|
||||||
{
|
{
|
||||||
// Store the PNG predictor in the first byte of the buffer...
|
// Store the PNG predictor in the first byte of the buffer...
|
||||||
|
179
testpdfio.c
179
testpdfio.c
@ -761,205 +761,205 @@ write_color_test(pdfio_file_t *pdf, // I - PDF file
|
|||||||
if (pdfioContentSetFillColorDeviceGray(st, 0.0))
|
if (pdfioContentSetFillColorDeviceGray(st, 0.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextBegin(): ", stdout);
|
fputs("pdfioContentTextBegin(): ", stdout);
|
||||||
if (pdfioContentTextBegin(st))
|
if (pdfioContentTextBegin(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetTextFont(\"F1\", 12.0): ", stdout);
|
fputs("pdfioContentSetTextFont(\"F1\", 12.0): ", stdout);
|
||||||
if (pdfioContentSetTextFont(st, "F1", 12.0))
|
if (pdfioContentSetTextFont(st, "F1", 12.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(550.0, 36.0): ", stdout);
|
fputs("pdfioContentTextMoveTo(550.0, 36.0): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, 550.0, 36.0))
|
if (pdfioContentTextMoveTo(st, 550.0, 36.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
printf("pdfioContentTextShowf(\"%d\"): ", number);
|
printf("pdfioContentTextShowf(\"%d\"): ", number);
|
||||||
if (pdfioContentTextShowf(st, "%d", number))
|
if (pdfioContentTextShowf(st, "%d", number))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextEnd(): ", stdout);
|
fputs("pdfioContentTextEnd(): ", stdout);
|
||||||
if (pdfioContentTextEnd(st))
|
if (pdfioContentTextEnd(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextBegin(): ", stdout);
|
fputs("pdfioContentTextBegin(): ", stdout);
|
||||||
if (pdfioContentTextBegin(st))
|
if (pdfioContentTextBegin(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetTextFont(\"F1\", 18.0): ", stdout);
|
fputs("pdfioContentSetTextFont(\"F1\", 18.0): ", stdout);
|
||||||
if (pdfioContentSetTextFont(st, "F1", 18.0))
|
if (pdfioContentSetTextFont(st, "F1", 18.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(82, 360): ", stdout);
|
fputs("pdfioContentTextMoveTo(82, 360): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, 82, 360))
|
if (pdfioContentTextMoveTo(st, 82, 360))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextShow(\"AdobeRGB\"): ", stdout);
|
fputs("pdfioContentTextShow(\"AdobeRGB\"): ", stdout);
|
||||||
if (pdfioContentTextShow(st, "AdobeRGB"))
|
if (pdfioContentTextShow(st, "AdobeRGB"))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(234, 0): ", stdout);
|
fputs("pdfioContentTextMoveTo(234, 0): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, 234, 0))
|
if (pdfioContentTextMoveTo(st, 234, 0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextShow(\"DisplayP3\"): ", stdout);
|
fputs("pdfioContentTextShow(\"DisplayP3\"): ", stdout);
|
||||||
if (pdfioContentTextShow(st, "DisplayP3"))
|
if (pdfioContentTextShow(st, "DisplayP3"))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(-234, 252): ", stdout);
|
fputs("pdfioContentTextMoveTo(-234, 252): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, -234, 252))
|
if (pdfioContentTextMoveTo(st, -234, 252))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextShow(\"sRGB\"): ", stdout);
|
fputs("pdfioContentTextShow(\"sRGB\"): ", stdout);
|
||||||
if (pdfioContentTextShow(st, "sRGB"))
|
if (pdfioContentTextShow(st, "sRGB"))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(234, 0): ", stdout);
|
fputs("pdfioContentTextMoveTo(234, 0): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, 234, 0))
|
if (pdfioContentTextMoveTo(st, 234, 0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextShow(\"DeviceCMYK\"): ", stdout);
|
fputs("pdfioContentTextShow(\"DeviceCMYK\"): ", stdout);
|
||||||
if (pdfioContentTextShow(st, "DeviceCMYK"))
|
if (pdfioContentTextShow(st, "DeviceCMYK"))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextEnd(): ", stdout);
|
fputs("pdfioContentTextEnd(): ", stdout);
|
||||||
if (pdfioContentTextEnd(st))
|
if (pdfioContentTextEnd(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSave(): ", stdout);
|
fputs("pdfioContentSave(): ", stdout);
|
||||||
if (pdfioContentSave(st))
|
if (pdfioContentSave(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetFillColorSpace(AdobeRGB): ", stdout);
|
fputs("pdfioContentSetFillColorSpace(AdobeRGB): ", stdout);
|
||||||
if (pdfioContentSetFillColorSpace(st, "AdobeRGB"))
|
if (pdfioContentSetFillColorSpace(st, "AdobeRGB"))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentMatrixTranslate(82, 162): ", stdout);
|
fputs("pdfioContentMatrixTranslate(82, 162): ", stdout);
|
||||||
if (pdfioContentMatrixTranslate(st, 82, 162))
|
if (pdfioContentMatrixTranslate(st, 82, 162))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
if (write_color_patch(st, false))
|
if (write_color_patch(st, false))
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentRestore(): ", stdout);
|
fputs("pdfioContentRestore(): ", stdout);
|
||||||
if (pdfioContentRestore(st))
|
if (pdfioContentRestore(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSave(): ", stdout);
|
fputs("pdfioContentSave(): ", stdout);
|
||||||
if (pdfioContentSave(st))
|
if (pdfioContentSave(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetFillColorSpace(DisplayP3): ", stdout);
|
fputs("pdfioContentSetFillColorSpace(DisplayP3): ", stdout);
|
||||||
if (pdfioContentSetFillColorSpace(st, "DisplayP3"))
|
if (pdfioContentSetFillColorSpace(st, "DisplayP3"))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentMatrixTranslate(316, 162): ", stdout);
|
fputs("pdfioContentMatrixTranslate(316, 162): ", stdout);
|
||||||
if (pdfioContentMatrixTranslate(st, 316, 162))
|
if (pdfioContentMatrixTranslate(st, 316, 162))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
if (write_color_patch(st, false))
|
if (write_color_patch(st, false))
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentRestore(): ", stdout);
|
fputs("pdfioContentRestore(): ", stdout);
|
||||||
if (pdfioContentRestore(st))
|
if (pdfioContentRestore(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSave(): ", stdout);
|
fputs("pdfioContentSave(): ", stdout);
|
||||||
if (pdfioContentSave(st))
|
if (pdfioContentSave(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetFillColorSpace(sRGB): ", stdout);
|
fputs("pdfioContentSetFillColorSpace(sRGB): ", stdout);
|
||||||
if (pdfioContentSetFillColorSpace(st, "sRGB"))
|
if (pdfioContentSetFillColorSpace(st, "sRGB"))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentMatrixTranslate(82, 414): ", stdout);
|
fputs("pdfioContentMatrixTranslate(82, 414): ", stdout);
|
||||||
if (pdfioContentMatrixTranslate(st, 82, 414))
|
if (pdfioContentMatrixTranslate(st, 82, 414))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
if (write_color_patch(st, false))
|
if (write_color_patch(st, false))
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentRestore(): ", stdout);
|
fputs("pdfioContentRestore(): ", stdout);
|
||||||
if (pdfioContentRestore(st))
|
if (pdfioContentRestore(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSave(): ", stdout);
|
fputs("pdfioContentSave(): ", stdout);
|
||||||
if (pdfioContentSave(st))
|
if (pdfioContentSave(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentMatrixTranslate(316, 414): ", stdout);
|
fputs("pdfioContentMatrixTranslate(316, 414): ", stdout);
|
||||||
if (pdfioContentMatrixTranslate(st, 316, 414))
|
if (pdfioContentMatrixTranslate(st, 316, 414))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
if (write_color_patch(st, true))
|
if (write_color_patch(st, true))
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentRestore(): ", stdout);
|
fputs("pdfioContentRestore(): ", stdout);
|
||||||
if (pdfioContentRestore(st))
|
if (pdfioContentRestore(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioStreamClose: ", stdout);
|
fputs("pdfioStreamClose: ", stdout);
|
||||||
if (pdfioStreamClose(st))
|
if (pdfioStreamClose(st))
|
||||||
@ -968,6 +968,11 @@ write_color_test(pdfio_file_t *pdf, // I - PDF file
|
|||||||
return (1);
|
return (1);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
|
error:
|
||||||
|
|
||||||
|
pdfioStreamClose(st);
|
||||||
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1028,8 +1033,11 @@ write_image_object(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!pdfioStreamWrite(st, buffer, sizeof(buffer)))
|
if (!pdfioStreamWrite(st, buffer, sizeof(buffer)))
|
||||||
|
{
|
||||||
|
pdfioStreamClose(st);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pdfioStreamClose(st);
|
pdfioStreamClose(st);
|
||||||
|
|
||||||
@ -1112,41 +1120,41 @@ write_images(pdfio_file_t *pdf, // I - PDF file
|
|||||||
if (pdfioContentSetFillColorDeviceGray(st, 0.0))
|
if (pdfioContentSetFillColorDeviceGray(st, 0.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextBegin(): ", stdout);
|
fputs("pdfioContentTextBegin(): ", stdout);
|
||||||
if (pdfioContentTextBegin(st))
|
if (pdfioContentTextBegin(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetTextFont(\"F1\", 12.0): ", stdout);
|
fputs("pdfioContentSetTextFont(\"F1\", 12.0): ", stdout);
|
||||||
if (pdfioContentSetTextFont(st, "F1", 12.0))
|
if (pdfioContentSetTextFont(st, "F1", 12.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(550.0, 36.0): ", stdout);
|
fputs("pdfioContentTextMoveTo(550.0, 36.0): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, 550.0, 36.0))
|
if (pdfioContentTextMoveTo(st, 550.0, 36.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
printf("pdfioContentTextShowf(\"%d\"): ", number);
|
printf("pdfioContentTextShowf(\"%d\"): ", number);
|
||||||
if (pdfioContentTextShowf(st, "%d", number))
|
if (pdfioContentTextShowf(st, "%d", number))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextEnd(): ", stdout);
|
fputs("pdfioContentTextEnd(): ", stdout);
|
||||||
if (pdfioContentTextEnd(st))
|
if (pdfioContentTextEnd(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
// Draw images
|
// Draw images
|
||||||
if (draw_image(st, "IM1", 36, 558, 144, 144, "No Predictor"))
|
if (draw_image(st, "IM1", 36, 558, 144, 144, "No Predictor"))
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
for (p = _PDFIO_PREDICTOR_PNG_NONE; p <= _PDFIO_PREDICTOR_PNG_AUTO; p ++)
|
for (p = _PDFIO_PREDICTOR_PNG_NONE; p <= _PDFIO_PREDICTOR_PNG_AUTO; p ++)
|
||||||
{
|
{
|
||||||
@ -1155,7 +1163,8 @@ write_images(pdfio_file_t *pdf, // I - PDF file
|
|||||||
snprintf(pname, sizeof(pname), "IM%d", p);
|
snprintf(pname, sizeof(pname), "IM%d", p);
|
||||||
snprintf(plabel, sizeof(plabel), "PNG Predictor %d", p);
|
snprintf(plabel, sizeof(plabel), "PNG Predictor %d", p);
|
||||||
|
|
||||||
draw_image(st, pname, 36 + 180 * (i % 3), 342 - 216 * (i / 3), 144, 144, plabel);
|
if (draw_image(st, pname, 36 + 180 * (i % 3), 342 - 216 * (i / 3), 144, 144, plabel))
|
||||||
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrap up...
|
// Wrap up...
|
||||||
@ -1166,6 +1175,11 @@ write_images(pdfio_file_t *pdf, // I - PDF file
|
|||||||
return (1);
|
return (1);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
|
error:
|
||||||
|
|
||||||
|
pdfioStreamClose(st);
|
||||||
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1222,61 +1236,61 @@ write_page(pdfio_file_t *pdf, // I - PDF file
|
|||||||
"54 54 487 688 re 90 90 415 612 re B*\n"))
|
"54 54 487 688 re 90 90 415 612 re B*\n"))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetFillColorDeviceGray(0.0): ", stdout);
|
fputs("pdfioContentSetFillColorDeviceGray(0.0): ", stdout);
|
||||||
if (pdfioContentSetFillColorDeviceGray(st, 0.0))
|
if (pdfioContentSetFillColorDeviceGray(st, 0.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextBegin(): ", stdout);
|
fputs("pdfioContentTextBegin(): ", stdout);
|
||||||
if (pdfioContentTextBegin(st))
|
if (pdfioContentTextBegin(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetTextFont(\"F1\", 12.0): ", stdout);
|
fputs("pdfioContentSetTextFont(\"F1\", 12.0): ", stdout);
|
||||||
if (pdfioContentSetTextFont(st, "F1", 12.0))
|
if (pdfioContentSetTextFont(st, "F1", 12.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(550.0, 36.0): ", stdout);
|
fputs("pdfioContentTextMoveTo(550.0, 36.0): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, 550.0, 36.0))
|
if (pdfioContentTextMoveTo(st, 550.0, 36.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
printf("pdfioContentTextShowf(\"%d\"): ", number);
|
printf("pdfioContentTextShowf(\"%d\"): ", number);
|
||||||
if (pdfioContentTextShowf(st, "%d", number))
|
if (pdfioContentTextShowf(st, "%d", number))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextEnd(): ", stdout);
|
fputs("pdfioContentTextEnd(): ", stdout);
|
||||||
if (pdfioContentTextEnd(st))
|
if (pdfioContentTextEnd(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSave(): ", stdout);
|
fputs("pdfioContentSave(): ", stdout);
|
||||||
if (pdfioContentSave(st))
|
if (pdfioContentSave(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioImageGetWidth(): ", stdout);
|
fputs("pdfioImageGetWidth(): ", stdout);
|
||||||
if ((width = pdfioImageGetWidth(image)) > 0.0)
|
if ((width = pdfioImageGetWidth(image)) > 0.0)
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioImageGetHeight(): ", stdout);
|
fputs("pdfioImageGetHeight(): ", stdout);
|
||||||
if ((height = pdfioImageGetHeight(image)) > 0.0)
|
if ((height = pdfioImageGetHeight(image)) > 0.0)
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
swidth = 400.0;
|
swidth = 400.0;
|
||||||
sheight = swidth * height / width;
|
sheight = swidth * height / width;
|
||||||
@ -1293,13 +1307,13 @@ write_page(pdfio_file_t *pdf, // I - PDF file
|
|||||||
if (pdfioContentDrawImage(st, "IM1", tx, ty, swidth, sheight))
|
if (pdfioContentDrawImage(st, "IM1", tx, ty, swidth, sheight))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentRestore(): ", stdout);
|
fputs("pdfioContentRestore(): ", stdout);
|
||||||
if (pdfioContentRestore(st))
|
if (pdfioContentRestore(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioStreamClose: ", stdout);
|
fputs("pdfioStreamClose: ", stdout);
|
||||||
if (pdfioStreamClose(st))
|
if (pdfioStreamClose(st))
|
||||||
@ -1308,6 +1322,11 @@ write_page(pdfio_file_t *pdf, // I - PDF file
|
|||||||
return (1);
|
return (1);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
|
error:
|
||||||
|
|
||||||
|
pdfioStreamClose(st);
|
||||||
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1386,49 +1405,49 @@ write_text(pdfio_file_t *pdf, // I - PDF file
|
|||||||
if (pdfioContentSetFillColorDeviceGray(st, 0.0))
|
if (pdfioContentSetFillColorDeviceGray(st, 0.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextBegin(): ", stdout);
|
fputs("pdfioContentTextBegin(): ", stdout);
|
||||||
if (pdfioContentTextBegin(st))
|
if (pdfioContentTextBegin(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetTextFont(\"F1\", 12.0): ", stdout);
|
fputs("pdfioContentSetTextFont(\"F1\", 12.0): ", stdout);
|
||||||
if (pdfioContentSetTextFont(st, "F1", 12.0))
|
if (pdfioContentSetTextFont(st, "F1", 12.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(36.0, 36.0): ", stdout);
|
fputs("pdfioContentTextMoveTo(36.0, 36.0): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, 36, 36.0))
|
if (pdfioContentTextMoveTo(st, 36, 36.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
printf("pdfioContentTextShowf(\"\\\"%s\\\"\"): ", filename);
|
printf("pdfioContentTextShowf(\"\\\"%s\\\"\"): ", filename);
|
||||||
if (pdfioContentTextShowf(st, "\"%s\"", filename))
|
if (pdfioContentTextShowf(st, "\"%s\"", filename))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(514.0, 0.0): ", stdout);
|
fputs("pdfioContentTextMoveTo(514.0, 0.0): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, 514.0, 0.0))
|
if (pdfioContentTextMoveTo(st, 514.0, 0.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
printf("pdfioContentTextShowf(\"%d\"): ", page);
|
printf("pdfioContentTextShowf(\"%d\"): ", page);
|
||||||
if (pdfioContentTextShowf(st, "%d", page))
|
if (pdfioContentTextShowf(st, "%d", page))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextEnd(): ", stdout);
|
fputs("pdfioContentTextEnd(): ", stdout);
|
||||||
if (pdfioContentTextEnd(st))
|
if (pdfioContentTextEnd(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
page ++;
|
page ++;
|
||||||
plinenum ++;
|
plinenum ++;
|
||||||
@ -1437,31 +1456,35 @@ write_text(pdfio_file_t *pdf, // I - PDF file
|
|||||||
if (pdfioContentTextBegin(st))
|
if (pdfioContentTextBegin(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetTextFont(\"F2\", 10.0): ", stdout);
|
fputs("pdfioContentSetTextFont(\"F2\", 10.0): ", stdout);
|
||||||
if (pdfioContentSetTextFont(st, "F2", 10.0))
|
if (pdfioContentSetTextFont(st, "F2", 10.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentSetTextLeading(12.0): ", stdout);
|
fputs("pdfioContentSetTextLeading(12.0): ", stdout);
|
||||||
if (pdfioContentSetTextLeading(st, 12.0))
|
if (pdfioContentSetTextLeading(st, 12.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioContentTextMoveTo(36.0, 756.0): ", stdout);
|
fputs("pdfioContentTextMoveTo(36.0, 756.0): ", stdout);
|
||||||
if (pdfioContentTextMoveTo(st, 36.0, 756.0))
|
if (pdfioContentTextMoveTo(st, 36.0, 756.0))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
pdfioContentSetFillColorDeviceGray(st, 0.75);
|
if (!pdfioContentSetFillColorDeviceGray(st, 0.75))
|
||||||
pdfioContentTextShowf(st, "%4d ", flinenum);
|
goto error;
|
||||||
pdfioContentSetFillColorDeviceGray(st, 0.0);
|
if (!pdfioContentTextShowf(st, "%4d ", flinenum))
|
||||||
pdfioContentTextShow(st, line);
|
goto error;
|
||||||
|
if (!pdfioContentSetFillColorDeviceGray(st, 0.0))
|
||||||
|
goto error;
|
||||||
|
if (!pdfioContentTextShow(st, line))
|
||||||
|
goto error;
|
||||||
|
|
||||||
plinenum ++;
|
plinenum ++;
|
||||||
if (plinenum >= 60)
|
if (plinenum >= 60)
|
||||||
@ -1470,13 +1493,13 @@ write_text(pdfio_file_t *pdf, // I - PDF file
|
|||||||
if (pdfioContentTextEnd(st))
|
if (pdfioContentTextEnd(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioStreamClose: ", stdout);
|
fputs("pdfioStreamClose: ", stdout);
|
||||||
if (pdfioStreamClose(st))
|
if (pdfioStreamClose(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
st = NULL;
|
st = NULL;
|
||||||
plinenum = 0;
|
plinenum = 0;
|
||||||
@ -1489,7 +1512,7 @@ write_text(pdfio_file_t *pdf, // I - PDF file
|
|||||||
if (pdfioContentTextEnd(st))
|
if (pdfioContentTextEnd(st))
|
||||||
puts("PASS");
|
puts("PASS");
|
||||||
else
|
else
|
||||||
return (1);
|
goto error;
|
||||||
|
|
||||||
fputs("pdfioStreamClose: ", stdout);
|
fputs("pdfioStreamClose: ", stdout);
|
||||||
if (pdfioStreamClose(st))
|
if (pdfioStreamClose(st))
|
||||||
@ -1499,4 +1522,10 @@ write_text(pdfio_file_t *pdf, // I - PDF file
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
|
error:
|
||||||
|
|
||||||
|
fclose(fp);
|
||||||
|
pdfioStreamClose(st);
|
||||||
|
return (1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user