Compare commits

..

No commits in common. "5e9617a742b1d8546a21a6a1ecffa9d26f5d18e5" and "b278e33aac39549e8f280bfe6cfdf45e1c343d6f" have entirely different histories.

7 changed files with 43 additions and 570 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 + (off_t)(pdf->bufptr - pdf->buffer)); return (pdf->bufpos + (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 += (off_t)bytes; pdf->bufpos += bytes;
return (true); return (true);
} }
@ -478,7 +478,7 @@ fill_buffer(pdfio_file_t *pdf) // I - PDF file
// Advance current position in file as needed... // Advance current position in file as needed...
if (pdf->bufend) if (pdf->bufend)
pdf->bufpos += (off_t)(pdf->bufend - pdf->buffer); pdf->bufpos += pdf->bufend - pdf->buffer;
// Try reading from the file... // Try reading from the file...
if ((bytes = read_buffer(pdf, pdf->buffer, sizeof(pdf->buffer))) <= 0) if ((bytes = read_buffer(pdf, pdf->buffer, sizeof(pdf->buffer))) <= 0)

View File

@ -2661,16 +2661,12 @@ 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;
@ -2705,7 +2701,6 @@ 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

@ -10,7 +10,7 @@
#ifndef PDFIO_PRIVATE_H #ifndef PDFIO_PRIVATE_H
# define PDFIO_PRIVATE_H # define PDFIO_PRIVATE_H
# ifdef _WIN32 # ifdef _WIN32
# define _CRT_SECURE_NO_WARNINGS 1 // Disable bogus VS warnings/errors... # define _CRT_SECURE_NO_WARNINGS // Disable bogus VS warnings/errors...
# endif // _WIN32 # endif // _WIN32
# include "pdfio.h" # include "pdfio.h"
# include <stdarg.h> # include <stdarg.h>
@ -28,16 +28,16 @@
# 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(f,o,w) (off_t)_lseek((f),(long)(o),(w)) # define lseek _lseek
# 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 _read
# 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(f,b,s) _write((f),(b),(unsigned)(s)) # define write _write
# ifndef F_OK # ifndef F_OK
# define F_OK 00 // POSIX parameters/flags # define F_OK 00 // POSIX parameters/flags
# define W_OK 02 # define W_OK 02

View File

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

File diff suppressed because it is too large Load Diff

8
ttf.c
View File

@ -10,7 +10,7 @@
// //
#ifdef _WIN32 #ifdef _WIN32
# define _CRT_SECURE_NO_WARNINGS 1 # define _CRT_SECURE_NO_WARNINGS
#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(f,o,w) (off_t)_lseek((f),(long)(o),(w)) # define lseek _lseek
# 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 _read
# 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(f,b,s) _write((f),(b),(unsigned)(s)) # define write _write
// //
// Map various parameters for POSIX... // Map various parameters for POSIX...