Compare commits

...

6 Commits

Author SHA1 Message Date
Michael R Sweet
5e9617a742
One more Windows build warning. 2025-04-18 18:10:03 -04:00
Michael R Sweet
09ee7d16c1
More test program cleanup to use test header. 2025-04-18 18:08:37 -04:00
Michael R Sweet
078985fc20
Try to eliminate more Windows build warnings. 2025-04-18 17:58:06 -04:00
Michael R Sweet
13fedfc424
Try a macro trick to get rid of some Windows build warnings. 2025-04-18 17:29:02 -04:00
Michael R Sweet
c07927dc2d
Bump copyright on test header since it was updated. 2025-04-18 17:22:15 -04:00
Michael R Sweet
1393cd6c04
Hopefully fix Windows build issues. 2025-04-18 17:07:53 -04:00
7 changed files with 570 additions and 43 deletions

View File

@ -424,7 +424,7 @@ off_t // O - Offset from beginning of file
_pdfioFileTell(pdfio_file_t *pdf) // I - PDF file
{
if (pdf->bufptr)
return (pdf->bufpos + (pdf->bufptr - pdf->buffer));
return (pdf->bufpos + (off_t)(pdf->bufptr - pdf->buffer));
else
return (pdf->bufpos);
}
@ -452,7 +452,7 @@ _pdfioFileWrite(pdfio_file_t *pdf, // I - PDF file
if (!write_buffer(pdf, buffer, bytes))
return (false);
pdf->bufpos += bytes;
pdf->bufpos += (off_t)bytes;
return (true);
}
@ -478,7 +478,7 @@ fill_buffer(pdfio_file_t *pdf) // I - PDF file
// Advance current position in file as needed...
if (pdf->bufend)
pdf->bufpos += pdf->bufend - pdf->buffer;
pdf->bufpos += (off_t)(pdf->bufend - pdf->buffer);
// Try reading from the file...
if ((bytes = read_buffer(pdf, pdf->buffer, sizeof(pdf->buffer))) <= 0)

View File

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

View File

@ -10,7 +10,7 @@
#ifndef PDFIO_PRIVATE_H
# define PDFIO_PRIVATE_H
# ifdef _WIN32
# define _CRT_SECURE_NO_WARNINGS // Disable bogus VS warnings/errors...
# define _CRT_SECURE_NO_WARNINGS 1 // Disable bogus VS warnings/errors...
# endif // _WIN32
# include "pdfio.h"
# include <stdarg.h>
@ -28,16 +28,16 @@
# define access _access // Map standard POSIX/C99 names
# define close _close
# 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 open _open
# define read _read
# define read(f,b,s) _read((f),(b),(unsigned)(s))
# define rmdir _rmdir
# define snprintf _snprintf
# define strdup _strdup
# define unlink _unlink
# define vsnprintf _vsnprintf
# define write _write
# define write(f,b,s) _write((f),(b),(unsigned)(s))
# ifndef F_OK
# define F_OK 00 // POSIX parameters/flags
# define W_OK 02

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

3
test.h
View File

@ -1,7 +1,7 @@
//
// Unit test header for C/C++ programs.
//
// Copyright © 2021-2022 by Michael R Sweet.
// Copyright © 2021-2025 by Michael R Sweet.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
@ -33,6 +33,7 @@
# include <stdbool.h>
# include <string.h>
# if _WIN32
# include <io.h>
# define isatty(f) _isatty(f)
# else
# include <unistd.h>

File diff suppressed because it is too large Load Diff

8
ttf.c
View File

@ -10,7 +10,7 @@
//
#ifdef _WIN32
# define _CRT_SECURE_NO_WARNINGS
# define _CRT_SECURE_NO_WARNINGS 1
#endif // _WIN32
#include "ttf.h"
@ -38,16 +38,16 @@
# define access _access
# define close _close
# 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 open _open
# define read _read
# define read(f,b,s) _read((f),(b),(unsigned)(s))
# define rmdir _rmdir
# define snprintf _snprintf
# define strdup _strdup
# define unlink _unlink
# define vsnprintf _vsnprintf
# define write _write
# define write(f,b,s) _write((f),(b),(unsigned)(s))
//
// Map various parameters for POSIX...