mirror of
https://github.com/qpdf/qpdf.git
synced 2024-12-22 10:58:58 +00:00
2.0.2
git-svn-id: svn+q:///qpdf/trunk@634 71b93d88-0707-0410-a8cf-f5a4172ac649
This commit is contained in:
parent
31dbfc0ef9
commit
212ca68f4f
@ -1,3 +1,10 @@
|
||||
2008-06-30 Jay Berkenbilt <ejb@ql.org>
|
||||
|
||||
* 2.0.2: release
|
||||
|
||||
* updated embedded qtest to version 1.2 (includes previous
|
||||
changes)
|
||||
|
||||
2008-06-07 Jay Berkenbilt <ejb@ql.org>
|
||||
|
||||
* qpdf/qtest/qpdf/diff-encrypted: change == to = so that the test
|
||||
|
@ -13,7 +13,7 @@ Release Reminders
|
||||
qpdf/qpdf.cc
|
||||
manual/qpdf-manual.xml
|
||||
|
||||
make_dist does this automatically.
|
||||
make_dist verifies this consistency.
|
||||
|
||||
* Each year, update copyright notices. Just search for Copyright.
|
||||
Last updated: 2008.
|
||||
|
@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
|
||||
dnl This config.in requires autoconf 2.5 or greater.
|
||||
|
||||
AC_PREREQ(2.60)
|
||||
AC_INIT(qpdf,2.0.1)
|
||||
AC_INIT(qpdf,2.0.2)
|
||||
|
||||
dnl No AC_CONFIG_HEADERS. If this changes, update README.maintainer.
|
||||
AC_CONFIG_FILES([autoconf.mk])
|
||||
|
@ -5,8 +5,8 @@
|
||||
<!ENTITY mdash "—">
|
||||
<!ENTITY ndash "–">
|
||||
<!ENTITY nbsp " ">
|
||||
<!ENTITY swversion "2.0.1">
|
||||
<!ENTITY lastreleased "May 6, 2008">
|
||||
<!ENTITY swversion "2.0.2">
|
||||
<!ENTITY lastreleased "June 30, 2008">
|
||||
]>
|
||||
<book>
|
||||
<bookinfo>
|
||||
@ -1964,6 +1964,21 @@ print "\n";
|
||||
<appendix id="ref.release-notes">
|
||||
<title>Release Notes</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>2.0.2: June 30, 2008</term>
|
||||
<listitem>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Update test suite to work properly with a
|
||||
non-<comamnd>bash</comamnd> <filename>/bin/sh</filename> and
|
||||
with Perl 5.10. No changes were made to the actual qpdf
|
||||
source code itself for this release.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>2.0.1: May 6, 2008</term>
|
||||
<listitem>
|
||||
|
@ -447,7 +447,7 @@ int main(int argc, char* argv[])
|
||||
// 1 2 3 4 5 6 7 8
|
||||
// 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
std::cout
|
||||
<< whoami << " version 2.0.1" << std::endl
|
||||
<< whoami << " version 2.0.2" << std::endl
|
||||
<< "Copyright (c) 2005-2008 Jay Berkenbilt"
|
||||
<< std::endl
|
||||
<< "This software may be distributed under the terms of version 2 of the"
|
||||
|
@ -33,7 +33,7 @@ require TestDriver;
|
||||
|
||||
if ((@ARGV == 1) && ($ARGV[0] eq '--version'))
|
||||
{
|
||||
print "$whoami version 1.1\n";
|
||||
print "$whoami version 1.2\n";
|
||||
exit 0;
|
||||
}
|
||||
if ((@ARGV == 1) && ($ARGV[0] eq '--print-path'))
|
||||
|
@ -139,7 +139,10 @@ sub get_tty_features
|
||||
no strict;
|
||||
local $^W = 0;
|
||||
local *X;
|
||||
require 'sys/ioctl.ph';
|
||||
{
|
||||
local $SIG{'__WARN__'} = sub {};
|
||||
require 'sys/ioctl.ph';
|
||||
}
|
||||
if ((defined &TIOCGWINSZ) && open(X, "+</dev/tty"))
|
||||
{
|
||||
my $winsize = "";
|
||||
@ -671,6 +674,8 @@ sub runtest
|
||||
my $pid = undef;
|
||||
my $pid_killer = new TestDriver::PidKiller(\$pid);
|
||||
my $in = new IO::Handle;
|
||||
my $use_tempfile = ($^O eq 'MSWin32');
|
||||
my $tempout_status = undef;
|
||||
if (defined $in_string)
|
||||
{
|
||||
&QTC::TC("testdriver", "TestDriver input string");
|
||||
@ -687,11 +692,30 @@ sub runtest
|
||||
}
|
||||
elsif (defined $in_command)
|
||||
{
|
||||
$pid = open($in, "-|");
|
||||
croak +__PACKAGE__, "->runtest: fork failed: $!\n" unless defined $pid;
|
||||
my $tempfilename = "$tempdir/tempout";
|
||||
my $tempfile = undef;
|
||||
if ($use_tempfile)
|
||||
{
|
||||
$tempfile = new IO::File(">$tempfilename") or
|
||||
die +(+__PACKAGE__,
|
||||
"->runtest: unable to create $tempfilename: $!\n");
|
||||
$pid = fork;
|
||||
croak +__PACKAGE__, "->runtest: fork failed: $!\n"
|
||||
unless defined $pid;
|
||||
}
|
||||
else
|
||||
{
|
||||
$pid = open($in, "-|");
|
||||
croak +__PACKAGE__, "->runtest: fork failed: $!\n"
|
||||
unless defined $pid;
|
||||
}
|
||||
if ($pid == 0)
|
||||
{
|
||||
# child
|
||||
if (defined $tempfile)
|
||||
{
|
||||
open(STDOUT, ">&", $tempfile);
|
||||
}
|
||||
open(STDERR, ">&STDOUT");
|
||||
open(STDIN, '<', \ "");
|
||||
if (ref($in_command) eq 'ARRAY')
|
||||
@ -711,6 +735,19 @@ sub runtest
|
||||
$in_command, "\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (defined $tempfile)
|
||||
{
|
||||
waitpid($pid, 0);
|
||||
$tempout_status = $?;
|
||||
$pid = undef;
|
||||
open($in, "<$tempfilename") or
|
||||
croak +(+__PACKAGE__,
|
||||
"->runtest: unable to read from" .
|
||||
" input file $tempfilename: $!\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -768,22 +805,25 @@ sub runtest
|
||||
last if defined $exit_status;
|
||||
}
|
||||
$in->close();
|
||||
if (defined $tempout_status)
|
||||
{
|
||||
$exit_status = $tempout_status;
|
||||
}
|
||||
if (defined $in_command)
|
||||
{
|
||||
if (! defined $exit_status)
|
||||
{
|
||||
$exit_status = $?;
|
||||
}
|
||||
if (($exit_status > 0) && ($exit_status < 256))
|
||||
if (WIFSIGNALED($exit_status))
|
||||
{
|
||||
&QTC::TC("testdriver", "TestDriver exit status signal");
|
||||
$exit_status &= 127; # clear core dump flag
|
||||
$exit_status = "SIG:$exit_status";
|
||||
$exit_status = "SIG:" . WTERMSIG($exit_status);
|
||||
}
|
||||
else
|
||||
elsif (WIFEXITED($exit_status))
|
||||
{
|
||||
&QTC::TC("testdriver", "TestDriver exit status number");
|
||||
$exit_status >>= 8;
|
||||
$exit_status = WEXITSTATUS($exit_status);
|
||||
}
|
||||
}
|
||||
$? = 0;
|
||||
@ -1533,28 +1573,44 @@ sub rmrf
|
||||
sub safe_pipe
|
||||
{
|
||||
my ($cmd, $outfile) = @_;
|
||||
my $pid = open(C, "-|");
|
||||
my $result = 0;
|
||||
|
||||
if ($pid)
|
||||
if ($^O eq 'MSWin32')
|
||||
{
|
||||
# parent
|
||||
my $out = new IO::File(">$outfile") or
|
||||
die +__PACKAGE__, ": can't open $outfile: $!\n";
|
||||
binmode C;
|
||||
while (<C>)
|
||||
my @cmd = @$cmd;
|
||||
my $cmd_str = shift(@cmd);
|
||||
while (@cmd)
|
||||
{
|
||||
$out->print($_);
|
||||
my $arg = shift(@cmd);
|
||||
$cmd_str .= " \"$arg\"";
|
||||
}
|
||||
close(C);
|
||||
$result = $?;
|
||||
$out->close();
|
||||
$cmd_str .= " > $outfile 2>&1";
|
||||
$result = system($cmd_str);
|
||||
}
|
||||
else
|
||||
{
|
||||
# child
|
||||
open(STDERR, ">&STDOUT");
|
||||
exec(@$cmd) || die +__PACKAGE__, ": $cmd->[0] failed: $!\n";
|
||||
my $pid = open(C, "-|");
|
||||
|
||||
if ($pid)
|
||||
{
|
||||
# parent
|
||||
my $out = new IO::File(">$outfile") or
|
||||
die +__PACKAGE__, ": can't open $outfile: $!\n";
|
||||
binmode C;
|
||||
while (<C>)
|
||||
{
|
||||
$out->print($_);
|
||||
}
|
||||
close(C);
|
||||
$result = $?;
|
||||
$out->close();
|
||||
}
|
||||
else
|
||||
{
|
||||
# child
|
||||
open(STDERR, ">&STDOUT");
|
||||
exec(@$cmd) || die +__PACKAGE__, ": $cmd->[0] failed: $!\n";
|
||||
}
|
||||
}
|
||||
|
||||
$result;
|
||||
|
Loading…
Reference in New Issue
Block a user