Try to eliminate more Windows build warnings.

This commit is contained in:
Michael R Sweet 2025-04-18 17:58:06 -04:00
parent 13fedfc424
commit 078985fc20
No known key found for this signature in database
GPG Key ID: BE67C75EC81F3244
6 changed files with 39 additions and 19 deletions

View File

@ -424,7 +424,7 @@ off_t // O - Offset from beginning of file
_pdfioFileTell(pdfio_file_t *pdf) // I - PDF file _pdfioFileTell(pdfio_file_t *pdf) // I - PDF file
{ {
if (pdf->bufptr) if (pdf->bufptr)
return (pdf->bufpos + (pdf->bufptr - pdf->buffer)); return (pdf->bufpos + (off_t)(pdf->bufptr - pdf->buffer));
else else
return (pdf->bufpos); return (pdf->bufpos);
} }
@ -452,7 +452,7 @@ _pdfioFileWrite(pdfio_file_t *pdf, // I - PDF file
if (!write_buffer(pdf, buffer, bytes)) if (!write_buffer(pdf, buffer, bytes))
return (false); return (false);
pdf->bufpos += bytes; pdf->bufpos += (off_t)bytes;
return (true); return (true);
} }

View File

@ -2661,12 +2661,16 @@ write_trailer(pdfio_file_t *pdf) // I - PDF file
buffer[2] = (obj->offset >> 8) & 255; buffer[2] = (obj->offset >> 8) & 255;
buffer[3] = obj->offset & 255; buffer[3] = obj->offset & 255;
break; break;
#ifdef _WIN32
default :
#endif // _WIN32
case 4 : case 4 :
buffer[1] = (obj->offset >> 24) & 255; buffer[1] = (obj->offset >> 24) & 255;
buffer[2] = (obj->offset >> 16) & 255; buffer[2] = (obj->offset >> 16) & 255;
buffer[3] = (obj->offset >> 8) & 255; buffer[3] = (obj->offset >> 8) & 255;
buffer[4] = obj->offset & 255; buffer[4] = obj->offset & 255;
break; break;
#ifndef _WIN32 // Windows off_t is 32-bits?!?
case 5 : case 5 :
buffer[1] = (obj->offset >> 32) & 255; buffer[1] = (obj->offset >> 32) & 255;
buffer[2] = (obj->offset >> 24) & 255; buffer[2] = (obj->offset >> 24) & 255;
@ -2701,6 +2705,7 @@ write_trailer(pdfio_file_t *pdf) // I - PDF file
buffer[7] = (obj->offset >> 8) & 255; buffer[7] = (obj->offset >> 8) & 255;
buffer[8] = obj->offset & 255; buffer[8] = obj->offset & 255;
break; break;
#endif // !_WIN32
} }
if (!pdfioStreamWrite(xref_st, buffer, offsize + 2)) if (!pdfioStreamWrite(xref_st, buffer, offsize + 2))

View File

@ -28,7 +28,7 @@
# define access _access // Map standard POSIX/C99 names # define access _access // Map standard POSIX/C99 names
# define close _close # define close _close
# define fileno _fileno # define fileno _fileno
# define lseek _lseek # define lseek(f,o,w) (off_t)_lseek((f),(long)(o),(w))
# define mkdir(d,p) _mkdir(d) # define mkdir(d,p) _mkdir(d)
# define open _open # define open _open
# define read(f,b,s) _read((f),(b),(unsigned)(s)) # define read(f,b,s) _read((f),(b),(unsigned)(s))

22
test-corpus.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/sh
#
# Script to test PDFio against a directory of PDF files.
#
# Copyright © 2025 by Michael R Sweet.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
#
# Usage:
#
# ./test-corpus.sh DIRECTORY
#
if test $# = 1; then
echo "Usage: ./test-corpus.sh DIRECTORY"
exit 1
fi
for file in $(find "$@" -name \*.pdf -print); do
./testpdfio $file 2>$file.log || echo $file
done

View File

@ -393,10 +393,7 @@ do_test_file(const char *filename, // I - PDF filename
// Try opening the file... // Try opening the file...
if (!objnum) if (!objnum)
{
testBegin("%s", filename); testBegin("%s", filename);
fflush(stdout);
}
if ((pdf = pdfioFileOpen(filename, password_cb, (void *)password, (pdfio_error_cb_t)error_cb, &error)) != NULL) if ((pdf = pdfioFileOpen(filename, password_cb, (void *)password, (pdfio_error_cb_t)error_cb, &error)) != NULL)
{ {
@ -502,6 +499,9 @@ do_test_file(const char *filename, // I - PDF filename
else else
{ {
// Error message will already be displayed so just indicate failure... // Error message will already be displayed so just indicate failure...
if (!objnum)
testEnd(false);
return (1); return (1);
} }
} }
@ -1248,16 +1248,9 @@ error_cb(pdfio_file_t *pdf, // I - PDF file
{ {
(void)pdf; (void)pdf;
if (!*error)
{
// First error, so show a "FAIL" indicator
*error = true; *error = true;
testEnd(false); testMessage("%s", message);
}
// Indent error messages...
printf(" %s\n", message);
// Continue to catch more errors... // Continue to catch more errors...
return (false); return (false);

8
ttf.c
View File

@ -10,7 +10,7 @@
// //
#ifdef _WIN32 #ifdef _WIN32
# define _CRT_SECURE_NO_WARNINGS # define _CRT_SECURE_NO_WARNINGS 1
#endif // _WIN32 #endif // _WIN32
#include "ttf.h" #include "ttf.h"
@ -38,16 +38,16 @@
# define access _access # define access _access
# define close _close # define close _close
# define fileno _fileno # define fileno _fileno
# define lseek _lseek # define lseek(f,o,w) (off_t)_lseek((f),(long)(o),(w))
# define mkdir(d,p) _mkdir(d) # define mkdir(d,p) _mkdir(d)
# define open _open # define open _open
# define read _read # define read(f,b,s) _read((f),(b),(unsigned)(s))
# define rmdir _rmdir # define rmdir _rmdir
# define snprintf _snprintf # define snprintf _snprintf
# define strdup _strdup # define strdup _strdup
# define unlink _unlink # define unlink _unlink
# define vsnprintf _vsnprintf # define vsnprintf _vsnprintf
# define write _write # define write(f,b,s) _write((f),(b),(unsigned)(s))
// //
// Map various parameters for POSIX... // Map various parameters for POSIX...