Update to 10.75.99
This commit is contained in:
parent
c3f49ed66f
commit
9ec28379f3
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
/netpbm-10.61.02.tar.xz
|
||||
/netpbm-10.66.02.tar.xz
|
||||
/netpbm-10.71.02.tar.xz
|
||||
/netpbm-10.75.99.tar.xz
|
||||
|
@ -1,18 +0,0 @@
|
||||
diff --git a/converter/other/pstopnm.c b/converter/other/pstopnm.c
|
||||
index b253442..dca141f 100644
|
||||
--- a/converter/other/pstopnm.c
|
||||
+++ b/converter/other/pstopnm.c
|
||||
@@ -811,11 +811,11 @@ execGhostscript(int const inputPipeFd,
|
||||
ghostscriptProg, arg0,
|
||||
deviceopt, outfileopt, gopt, ropt, textalphabitsopt,
|
||||
"-q", "-dNOPAUSE",
|
||||
- "-dSAFER", "-");
|
||||
+ "-dPARANOIDSAFER", "-");
|
||||
}
|
||||
|
||||
execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt, "-q",
|
||||
- "-dNOPAUSE", "-dSAFER", "-", NULL);
|
||||
+ "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL);
|
||||
|
||||
pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)",
|
||||
ghostscriptProg, errno, strerror(errno));
|
@ -1,13 +0,0 @@
|
||||
diff --git a/converter/other/bmptopnm.c b/converter/other/bmptopnm.c
|
||||
index a069092..20a0331 100644
|
||||
--- a/converter/other/bmptopnm.c
|
||||
+++ b/converter/other/bmptopnm.c
|
||||
@@ -1328,7 +1328,7 @@ readBmp(FILE * const ifP,
|
||||
xel ** const colormapP,
|
||||
bool const verbose) {
|
||||
|
||||
- xel * colormap; /* malloc'ed */
|
||||
+ xel * colormap = NULL; /* malloc'ed */
|
||||
unsigned int pos;
|
||||
/* Current byte position in the BMP file */
|
||||
|
@ -1,22 +0,0 @@
|
||||
diff --git a/converter/pbm/cmuwmtopbm.c b/converter/pbm/cmuwmtopbm.c
|
||||
index ccf8cfc..1f9bc6c 100644
|
||||
--- a/converter/pbm/cmuwmtopbm.c
|
||||
+++ b/converter/pbm/cmuwmtopbm.c
|
||||
@@ -18,7 +18,7 @@
|
||||
This program does not check the pad bits at the end of each row.
|
||||
*/
|
||||
|
||||
-
|
||||
+#include <stdint.h>
|
||||
#include "pbm.h"
|
||||
|
||||
/*--------------------------
|
||||
@@ -42,7 +42,7 @@ readCmuwmHeader(FILE * const ifP,
|
||||
"CMU window manager header EOF / read error";
|
||||
uint32_t const cmuwmMagic = 0xf10040bb;
|
||||
|
||||
- long l;
|
||||
+ uint32_t l;
|
||||
short s;
|
||||
int rc;
|
||||
|
@ -1,20 +0,0 @@
|
||||
diff --git a/config.mk.in b/config.mk.in
|
||||
index 5910146..bd1c70b 100644
|
||||
--- a/config.mk.in
|
||||
+++ b/config.mk.in
|
||||
@@ -476,12 +476,12 @@ JBIGLIB = $(INTERNAL_JBIGLIB)
|
||||
JBIGHDR_DIR = $(INTERNAL_JBIGHDR_DIR)
|
||||
|
||||
# The Jasper JPEG-2000 image compression library (aka JasPer):
|
||||
-JASPERLIB = $(INTERNAL_JASPERLIB)
|
||||
-JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
|
||||
+JASPERLIB = ""
|
||||
+JASPERHDR_DIR = "/usr/include/jasper"
|
||||
# JASPERDEPLIBS is the libraries (-l options or file names) on which
|
||||
# The Jasper library depends -- i.e. what you have to link into any
|
||||
# executable that links in the Jasper library.
|
||||
-JASPERDEPLIBS =
|
||||
+JASPERDEPLIBS = -ljasper
|
||||
#JASPERDEPLIBS = -ljpeg
|
||||
|
||||
# And the Utah Raster Toolkit (aka URT aka RLE) library:
|
@ -1,13 +0,0 @@
|
||||
diff --git a/test/Test-Order b/test/Test-Order
|
||||
index d21b9e8..133a48d 100644
|
||||
--- a/test/Test-Order
|
||||
+++ b/test/Test-Order
|
||||
@@ -79,7 +79,7 @@ symmetry.test
|
||||
|
||||
# Format converter tests
|
||||
|
||||
-pbmtog3.test
|
||||
+#pbmtog3.test
|
||||
411toppm.test
|
||||
eyuvtoppm.test
|
||||
|
@ -1,129 +0,0 @@
|
||||
diff --git a/converter/pbm/pbmtoepson.c b/converter/pbm/pbmtoepson.c
|
||||
index bb36791..79d9ece 100644
|
||||
--- a/converter/pbm/pbmtoepson.c
|
||||
+++ b/converter/pbm/pbmtoepson.c
|
||||
@@ -74,7 +74,7 @@ parseCommandLine(int argc,
|
||||
&dpiSpec, 0);
|
||||
OPTENT3(0, "adjacent", OPT_FLAG, NULL,
|
||||
&adjacentSpec, 0);
|
||||
- OPTENT3(0, "nonadjacent", OPT_FLAG, NULL,
|
||||
+ OPTENT3(0, "noadjacent", OPT_FLAG, NULL,
|
||||
&nonadjacentSpec, 0);
|
||||
|
||||
opt.opt_table = option_def;
|
||||
diff --git a/userguide/cameratopam.html b/userguide/cameratopam.html
|
||||
index 4a34817..f26338f 100644
|
||||
--- a/userguide/cameratopam.html
|
||||
+++ b/userguide/cameratopam.html
|
||||
@@ -25,10 +25,10 @@ cameratopam - convert raw camera image to PAM
|
||||
[<b>-balance_camera</b>]
|
||||
[<b>-red_scale=</b><i>float</i>]
|
||||
[<b>-blue_scale=</b><i>float</i>]
|
||||
-[<b>-brightness=</b><i>fraction</i>]
|
||||
+[<b>-bright=</b><i>fraction</i>]
|
||||
[<b>-no_clip_color</b>]
|
||||
[<b>-rgb</b>]
|
||||
-[<b>-secondary</b>]
|
||||
+[<b>-use_secondary</b>]
|
||||
[<b>-linear</b>]
|
||||
[<b>-verbose</b>]
|
||||
|
||||
@@ -106,7 +106,7 @@ the default.
|
||||
<dd>Further adjust the color balance by multiplying the red and blue
|
||||
channels by these values. Both default to 1.0.
|
||||
|
||||
-<dt><b>-brightness=</b><i>float</i>
|
||||
+<dt><b>-bright=</b><i>float</i>
|
||||
|
||||
<dd>Change the output brightness. Default is 1.0.
|
||||
|
||||
@@ -114,14 +114,14 @@ channels by these values. Both default to 1.0.
|
||||
|
||||
<dd>By default, <b>cameratoapm</b> clips all colors to prevent pink
|
||||
hues in the highlights. Combine this option with
|
||||
-<b>-brightness=0.25</b> to leave the image data completely unclipped.
|
||||
+<b>-bright=0.25</b> to leave the image data completely unclipped.
|
||||
|
||||
<dt><b>-rgb</b>
|
||||
|
||||
<dd>Write raw camera colors to the output file. By default,
|
||||
<b>cameratoapm</b> converts to sRGB colorspace.
|
||||
|
||||
-<dt><b>-secondary</b>
|
||||
+<dt><b>-use_secondary</b>
|
||||
|
||||
<dd>For cameras based on the Fuji Super CCD SR, this option causes
|
||||
<b>cameratopam</b> to use the secondary sensors, in effect
|
||||
diff --git a/userguide/fiascotopnm.html b/userguide/fiascotopnm.html
|
||||
index d8e2551..1747ad3 100644
|
||||
--- a/userguide/fiascotopnm.html
|
||||
+++ b/userguide/fiascotopnm.html
|
||||
@@ -51,7 +51,7 @@ the output file(s) are written to the first (writable) directory of
|
||||
this list. Otherwise, the current directory is used to store the
|
||||
output file(s).
|
||||
|
||||
-<DT><B>-z</B>, <B>--fast</B>
|
||||
+<DT><B>-r</B>, <B>--fast</B>
|
||||
<DD>
|
||||
Decompress images in the 4:2:0 format; i.e., each chroma channel is
|
||||
decompressed to an image of halved width and height. Use this option
|
||||
@@ -83,7 +83,7 @@ given amount <I>N</I>. <I>N</I> is 1 (minimum) to 100 (maximum); default
|
||||
is 70. When <I>N</I>=0, then the smoothing amount specified in the
|
||||
FIASCO file is used (defined by the FIASCO coder).
|
||||
|
||||
-<DT><B>-F</B> <I>N</I>, <B>--fps=</B><I>N</I>
|
||||
+<DT><B>-F</B> <I>N</I>, <B>--framerate=</B><I>N</I>
|
||||
<DD>
|
||||
Set number of frames per second to <I>N</I>. When using this option,
|
||||
the frame rate specified in the FIASCO file is overridden.
|
||||
@@ -113,13 +113,9 @@ following methods (in the specified order):
|
||||
<LI>--config=<I>name</I>
|
||||
</OL>
|
||||
|
||||
-<DT><B>-h</B>, <B>--info</B>
|
||||
+<DT><B>-h</B>, <B>--help</B>
|
||||
<DD>
|
||||
-Print brief help, then exit.
|
||||
-
|
||||
-<DT><B>-H</B>, <B>--help</B>
|
||||
-<DD>
|
||||
-Print detailed help, then exit.
|
||||
+Print help, then exit.
|
||||
|
||||
</DL>
|
||||
|
||||
diff --git a/userguide/pamperspective.html b/userguide/pamperspective.html
|
||||
index 9f5e9f0..bb6cb58 100644
|
||||
--- a/userguide/pamperspective.html
|
||||
+++ b/userguide/pamperspective.html
|
||||
@@ -220,7 +220,7 @@ default rectangle as the "frame." The visible part is always
|
||||
a rectangle the axes of which are parallel to those of the frame.
|
||||
|
||||
<p>The frame options are additive. All the parts of the image
|
||||
-specified by either margin options, <b>--include_frame</b>, or
|
||||
+specified by either margin options, <b>--frame_include</b>, or
|
||||
<b>--include</b> (or their defaults) are in the visible part. The
|
||||
visible part is the smallest possible rectangle that contains the
|
||||
parts specified those three ways.
|
||||
diff --git a/userguide/pbmtoepson.html b/userguide/pbmtoepson.html
|
||||
index 6895d33..c0df7c4 100644
|
||||
--- a/userguide/pbmtoepson.html
|
||||
+++ b/userguide/pbmtoepson.html
|
||||
@@ -18,7 +18,7 @@ pbmtoepson - convert a PBM image into Epson printer graphics
|
||||
[<b>-dpi=</b><i>n</i>]
|
||||
[<b>-protocol=</b>{<b>escp9</b>|<B>escp</B>}]
|
||||
[<b>-adjacent</b>]
|
||||
-[<b>-nonadjacent</b>]
|
||||
+[<b>-noadjacent</b>]
|
||||
|
||||
[<I>pbmfile</I>]
|
||||
|
||||
@@ -74,7 +74,7 @@ print density for you consistent with your other options.
|
||||
<p>This option was new in Netpbm 10.23 (July 2004).
|
||||
|
||||
<dt><b>-adjacent</b>
|
||||
-<dt><b>-nonadjacent</b>
|
||||
+<dt><b>-noadjacent</b>
|
||||
|
||||
<dd>These options determine whether the output uses "adjacent dot
|
||||
printing" or not, whatever that is.
|
@ -1,12 +0,0 @@
|
||||
diff -up netpbm-10.47.09/converter/other/fiasco/lib/image.h.fiasco-overflow netpbm-10.47.09/converter/other/fiasco/lib/image.h
|
||||
--- netpbm-10.47.09/converter/other/fiasco/lib/image.h.fiasco-overflow 2010-01-25 09:00:48.000000000 +0100
|
||||
+++ netpbm-10.47.09/converter/other/fiasco/lib/image.h 2010-01-27 10:29:48.000000000 +0100
|
||||
@@ -29,7 +29,7 @@ typedef struct image
|
||||
* Image data
|
||||
*/
|
||||
{
|
||||
- char id [7];
|
||||
+ char id [8];
|
||||
unsigned reference_count;
|
||||
unsigned width; /* Width of the image */
|
||||
unsigned height; /* Height of the image */
|
@ -1,81 +0,0 @@
|
||||
diff -Naur netpbm-10.61.02.orig/converter/pbm/cmuwmtopbm.c netpbm-10.61.02/converter/pbm/cmuwmtopbm.c
|
||||
--- netpbm-10.61.02.orig/converter/pbm/cmuwmtopbm.c 2014-04-14 16:25:31.000000000 +0200
|
||||
+++ netpbm-10.61.02/converter/pbm/cmuwmtopbm.c 2014-04-14 17:05:23.049000000 +0200
|
||||
@@ -48,20 +48,20 @@
|
||||
|
||||
rc = pm_readbiglong(ifP, &l);
|
||||
if (rc == -1 )
|
||||
- pm_error(initReadError);
|
||||
+ pm_error("%s", initReadError);
|
||||
if ((uint32_t)l != cmuwmMagic)
|
||||
pm_error("bad magic number in CMU window manager file");
|
||||
rc = pm_readbiglong(ifP, &l);
|
||||
if (rc == -1)
|
||||
- pm_error(initReadError);
|
||||
+ pm_error("%s", initReadError);
|
||||
*colsP = l;
|
||||
rc = pm_readbiglong(ifP, &l);
|
||||
if (rc == -1 )
|
||||
- pm_error(initReadError);
|
||||
+ pm_error("%s", initReadError);
|
||||
*rowsP = l;
|
||||
rc = pm_readbigshort(ifP, &s);
|
||||
if (rc == -1)
|
||||
- pm_error(initReadError);
|
||||
+ pm_error("%s", initReadError);
|
||||
*depthP = s;
|
||||
}
|
||||
|
||||
diff -Naur netpbm-10.61.02.orig/converter/other/tifftopnm.c netpbm-10.61.02/converter/other/tifftopnm.c
|
||||
--- netpbm-10.61.02.orig/converter/other/tifftopnm.c 2014-04-14 17:06:26.000000000 +0200
|
||||
+++ netpbm-10.61.02/converter/other/tifftopnm.c 2014-04-14 17:09:55.731000000 +0200
|
||||
@@ -1459,7 +1459,7 @@
|
||||
int ok;
|
||||
ok = TIFFRGBAImageOK(tif, emsg);
|
||||
if (!ok) {
|
||||
- pm_message(emsg);
|
||||
+ pm_message("%s", emsg);
|
||||
*statusP = CONV_UNABLE;
|
||||
} else {
|
||||
uint32 * raster;
|
||||
@@ -1479,14 +1479,14 @@
|
||||
|
||||
ok = TIFFRGBAImageBegin(&img, tif, stopOnErrorFalse, emsg);
|
||||
if (!ok) {
|
||||
- pm_message(emsg);
|
||||
+ pm_message("%s", emsg);
|
||||
*statusP = CONV_FAILED;
|
||||
} else {
|
||||
int ok;
|
||||
ok = TIFFRGBAImageGet(&img, raster, cols, rows);
|
||||
TIFFRGBAImageEnd(&img) ;
|
||||
if (!ok) {
|
||||
- pm_message(emsg);
|
||||
+ pm_message("%s", emsg);
|
||||
*statusP = CONV_FAILED;
|
||||
} else {
|
||||
*statusP = CONV_DONE;
|
||||
diff -Naur netpbm-10.61.02.orig/converter/other/fiasco/pnmtofiasco.c netpbm-10.61.02/converter/other/fiasco/pnmtofiasco.c
|
||||
--- netpbm-10.61.02.orig/converter/other/fiasco/pnmtofiasco.c 2013-02-20 07:31:32.000000000 +0100
|
||||
+++ netpbm-10.61.02/converter/other/fiasco/pnmtofiasco.c 2014-04-14 17:12:14.995000000 +0200
|
||||
@@ -170,7 +170,7 @@
|
||||
return 0;
|
||||
else
|
||||
{
|
||||
- fprintf (stderr, fiasco_get_error_message ());
|
||||
+ fprintf (stderr, "%s", fiasco_get_error_message ());
|
||||
fprintf (stderr, "\n");
|
||||
return 1;
|
||||
}
|
||||
diff -Naur netpbm-10.61.02.orig/converter/other/fiasco/params.c netpbm-10.61.02/converter/other/fiasco/params.c
|
||||
--- netpbm-10.61.02.orig/converter/other/fiasco/params.c 2013-02-20 07:31:32.000000000 +0100
|
||||
+++ netpbm-10.61.02/converter/other/fiasco/params.c 2014-04-14 17:15:00.067000000 +0200
|
||||
@@ -656,7 +656,7 @@
|
||||
fprintf (stderr, "Usage: %s [OPTION]...%s\n", progname,
|
||||
non_opt_string ? non_opt_string : " ");
|
||||
if (synopsis != NULL)
|
||||
- fprintf (stderr, synopsis);
|
||||
+ fprintf (stderr, "%s", synopsis);
|
||||
fprintf (stderr, "\n\n");
|
||||
fprintf (stderr, "Mandatory or optional arguments to long options "
|
||||
"are mandatory or optional\nfor short options too. "
|
@ -1,24 +0,0 @@
|
||||
diff --git a/lib/pm.h b/lib/pm.h
|
||||
index 47cbfe8..e9f1405 100644
|
||||
--- a/lib/pm.h
|
||||
+++ b/lib/pm.h
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
+#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <setjmp.h>
|
||||
#include <sys/stat.h>
|
||||
diff --git a/urt/rle.h b/urt/rle.h
|
||||
index 0766d22..8d72cb9 100644
|
||||
--- a/urt/rle.h
|
||||
+++ b/urt/rle.h
|
||||
@@ -31,6 +31,7 @@
|
||||
#define RLE_H
|
||||
|
||||
#include <stdio.h> /* Declare FILE. */
|
||||
+#include <string.h>
|
||||
|
||||
enum rle_dispatch {
|
||||
NO_DISPATCH = -1,
|
@ -1,13 +0,0 @@
|
||||
--- netpbm-10.35/converter/other/pnmtotiffcmyk.c.glibc 2006-09-18 12:20:06.000000000 +0200
|
||||
+++ netpbm-10.35/converter/other/pnmtotiffcmyk.c 2007-08-23 09:18:30.000000000 +0200
|
||||
@@ -974,8 +974,8 @@ int main( int argc, char **argv ) {
|
||||
|
||||
if ( (err = parseOpts( argc, argv, rt )) ) goto exit ;
|
||||
|
||||
- if ( (err = rt->in->open( rt->in, rt )) ) goto exit ;
|
||||
- if ( (err = rt->out->open( rt->out, rt )) ) goto exit ;
|
||||
+ if ( (err = (rt->in->open)( rt->in, rt )) ) goto exit ;
|
||||
+ if ( (err = (rt->out->open)( rt->out, rt )) ) goto exit ;
|
||||
|
||||
while ( rt->in->hasMore( rt->in ) ) {
|
||||
if ( (err = rt->in->next( rt->in, &r, &g, &b )) ) goto exit ;
|
@ -1,176 +0,0 @@
|
||||
diff --git a/userguide/avstopam.html b/userguide/avstopam.html
|
||||
index 9ec5e41..f69fdaa 100644
|
||||
--- a/userguide/avstopam.html
|
||||
+++ b/userguide/avstopam.html
|
||||
@@ -1,8 +1,7 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
+<html>
|
||||
<head>
|
||||
<title>Avstopam User Manual</title>
|
||||
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
diff --git a/userguide/escp2topbm.html b/userguide/escp2topbm.html
|
||||
index 186e032..af35b06 100644
|
||||
--- a/userguide/escp2topbm.html
|
||||
+++ b/userguide/escp2topbm.html
|
||||
@@ -6,6 +6,7 @@ Updated: 14 July 2015
|
||||
<BR>
|
||||
<A HREF="#index">Table Of Contents</A>
|
||||
|
||||
+<h2>NAME</h2>
|
||||
escp2topbm - convert an ESC/P2 printer file to a PBM image
|
||||
|
||||
<H2 id="synopsis">SYNOPSIS</H2>
|
||||
diff --git a/userguide/faxformat.html b/userguide/faxformat.html
|
||||
index cb5d710..cadd217 100644
|
||||
--- a/userguide/faxformat.html
|
||||
+++ b/userguide/faxformat.html
|
||||
@@ -5,10 +5,12 @@
|
||||
Updated: 03 December 2008
|
||||
<BR>
|
||||
|
||||
+<H2>SYNOPSIS</H2>
|
||||
<p>This page, part of the <a href="index.html">Netpbm user's guide</a>,
|
||||
describes FAX formats in relation to Netpbm facilities.
|
||||
|
||||
|
||||
+<H2>DESCRIPTION</H2>
|
||||
<p>The ITU (formerly CCITT) publishes standards for operation of fax machines
|
||||
(the idea is to provide a way to be sure that a fax machine is able to receive
|
||||
a fax sent by another). These standards incidentally specify graphics file
|
||||
diff --git a/userguide/pampaintspill.html b/userguide/pampaintspill.html
|
||||
index c71db55..f62011f 100644
|
||||
--- a/userguide/pampaintspill.html
|
||||
+++ b/userguide/pampaintspill.html
|
||||
@@ -1,8 +1,7 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
-<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
+<html>
|
||||
<head>
|
||||
<title>Pampaintspill User Manual</title>
|
||||
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -11,6 +10,7 @@
|
||||
|
||||
<p><a href="#index">Table Of Contents</a></p>
|
||||
|
||||
+<H2>NAME</H2>
|
||||
<p>pampaintspill - smoothly spill colors into the background</p>
|
||||
|
||||
<h2><a name="synopsis">SYNOPSIS</a></h2>
|
||||
diff --git a/userguide/pamsistoaglyph.html b/userguide/pamsistoaglyph.html
|
||||
index 8487717..d17368b 100644
|
||||
--- a/userguide/pamsistoaglyph.html
|
||||
+++ b/userguide/pamsistoaglyph.html
|
||||
@@ -1,8 +1,6 @@
|
||||
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
-<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
+<html>
|
||||
<head>
|
||||
<title>Pamsistoaglyph User Manual</title>
|
||||
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
diff --git a/userguide/pamstereogram.html b/userguide/pamstereogram.html
|
||||
index d5c3f83..a43fd5f 100644
|
||||
--- a/userguide/pamstereogram.html
|
||||
+++ b/userguide/pamstereogram.html
|
||||
@@ -1,5 +1,5 @@
|
||||
-<!DOCTYPE html>
|
||||
-<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
+<html>
|
||||
<head>
|
||||
<title>Pamstereogram User Manual</title>
|
||||
</head>
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
<p>Updated: 19 June 2015</p>
|
||||
|
||||
-<p><a href="#contents">Table Of Contents</a></p>
|
||||
+<p><a href="#index">Table Of Contents</a></p>
|
||||
|
||||
|
||||
<h2 id="name">NAME</h2>
|
||||
diff --git a/userguide/pamtoavs.html b/userguide/pamtoavs.html
|
||||
index 4f1b63e..0619e1b 100644
|
||||
--- a/userguide/pamtoavs.html
|
||||
+++ b/userguide/pamtoavs.html
|
||||
@@ -1,8 +1,7 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
+<html>
|
||||
<head>
|
||||
<title>Pamtoavs User Manual</title>
|
||||
-<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
diff --git a/userguide/pamtooctaveimg.html b/userguide/pamtooctaveimg.html
|
||||
index 9cadc13..69b09cb 100644
|
||||
--- a/userguide/pamtooctaveimg.html
|
||||
+++ b/userguide/pamtooctaveimg.html
|
||||
@@ -1,8 +1,7 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
+<html>
|
||||
<head>
|
||||
<title>Pamtooctaveimg User Manual</title>
|
||||
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
diff --git a/userguide/pnmflip.html b/userguide/pnmflip.html
|
||||
index 53c365c..eb0b896 100644
|
||||
--- a/userguide/pnmflip.html
|
||||
+++ b/userguide/pnmflip.html
|
||||
@@ -4,9 +4,11 @@
|
||||
<BODY>
|
||||
<H1>pnmflip</H1>
|
||||
<BR>
|
||||
+<H2>NAME</H2>
|
||||
<p><b>pnmflip</b> was replaced in Netpbm 10.13 (December 2002) by
|
||||
<b><a href="pamflip.html">pamflip</a></b>.
|
||||
|
||||
+<H2>DESCRIPTION</H2>
|
||||
<P><B>pamflip</b> is mostly backward compatible with <b>pnmflip</b>,
|
||||
but works on PAM images too.
|
||||
|
||||
diff --git a/userguide/pnmmercator.html b/userguide/pnmmercator.html
|
||||
index e9e7165..9ac6c5b 100644
|
||||
--- a/userguide/pnmmercator.html
|
||||
+++ b/userguide/pnmmercator.html
|
||||
@@ -1,7 +1,6 @@
|
||||
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<html>
|
||||
<head>
|
||||
-<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
|
||||
<title>PnmMercator User Manual</title>
|
||||
</head>
|
||||
<body>
|
||||
diff --git a/userguide/ppmtogif.html b/userguide/ppmtogif.html
|
||||
index 84b5163..1d33072 100644
|
||||
--- a/userguide/ppmtogif.html
|
||||
+++ b/userguide/ppmtogif.html
|
||||
@@ -4,11 +4,14 @@
|
||||
<BODY>
|
||||
<H1>ppmtogif</H1>
|
||||
<BR>
|
||||
+<H2>NAME</H2>
|
||||
<p><b>ppmtogif</b> was replaced in Netpbm 10.37 (December 2006) by
|
||||
<b><a href="pamtogif.html">pamtogif</a></b>.
|
||||
|
||||
+<H2>SYNOPSIS</H2>
|
||||
<P><B>pamtogif</b> is mostly backward compatible with <b>ppmtogif</b>.
|
||||
|
||||
+<H2>DESCRIPTION</H2>
|
||||
<P>One way <b>pamtogif</b> is not backward compatible with <b>ppmtogif</b>
|
||||
is that to specify a transparency (alpha) mask with <b>ppmtogif</b>, you
|
||||
supply the transparency as a separate pseudo-PGM image and use the
|
@ -1,13 +0,0 @@
|
||||
diff --git a/converter/other/giftopnm.c b/converter/other/giftopnm.c
|
||||
index 2e6ae1d..be4655f 100644
|
||||
--- a/converter/other/giftopnm.c
|
||||
+++ b/converter/other/giftopnm.c
|
||||
@@ -2086,7 +2086,7 @@ convertImages(FILE * const ifP,
|
||||
imageSeq, imageSeq > 1 ? "s" : "");
|
||||
} else {
|
||||
if (verbose)
|
||||
- pm_message("Reading Image Sequence %u", imageSeq);
|
||||
+ pm_message("Reading Image Sequence %u", imageSeq+1);
|
||||
|
||||
convertImage(ifP, !allImages && (imageSeq != requestedImageSeq),
|
||||
imageOutFileP, alphaFileP, gifScreen, gif89,
|
@ -1,11 +0,0 @@
|
||||
diff -up netpbm-10.47.04/buildtools/endiangen.c.multilib netpbm-10.47.04/buildtools/endiangen.c
|
||||
--- netpbm-10.47.04/buildtools/endiangen.c.multilib 2009-10-21 13:38:54.000000000 +0200
|
||||
+++ netpbm-10.47.04/buildtools/endiangen.c 2009-10-21 14:35:58.000000000 +0200
|
||||
@@ -87,7 +87,6 @@ main(int argc, char **argv) {
|
||||
byteOrder() == ENDIAN_LITTLE ? "LITTLE_ENDIAN" : "BIG_ENDIAN");
|
||||
printf("#endif\n");
|
||||
printf("\n");
|
||||
- printf("#define BITS_PER_LONG %u\n", bitsPerLong());
|
||||
|
||||
return 0;
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
diff --git a/GNUmakefile b/GNUmakefile
|
||||
index caf8e37..4418076 100644
|
||||
--- a/GNUmakefile
|
||||
+++ b/GNUmakefile
|
||||
@@ -394,7 +394,7 @@ install.lib:
|
||||
endif
|
||||
|
||||
.PHONY: install.manwebmain
|
||||
-install.manwebmain: $(PKGDIR)/$(PKGMANDIR)/web/netpbm.url $(PKGDIR)/bin/doc.url
|
||||
+install.manwebmain: $(PKGDIR)/$(PKGMANDIR)/web/netpbm.url
|
||||
|
||||
$(PKGDIR)/$(PKGMANDIR)/web/netpbm.url: $(PKGDIR)/$(PKGMANDIR)/web
|
||||
echo "$(NETPBM_DOCURL)" > $@
|
@ -1,17 +1,5 @@
|
||||
diff --git a/buildtools/manpage.mk b/buildtools/manpage.mk
|
||||
index 47d890c..62e613f 100644
|
||||
--- a/buildtools/manpage.mk
|
||||
+++ b/buildtools/manpage.mk
|
||||
@@ -251,7 +251,6 @@ MAN1 = \
|
||||
ppmtolj.1 \
|
||||
ppmtomap.1 \
|
||||
ppmtomitsu.1 \
|
||||
- ppmtompeg.1 \
|
||||
ppmtoneo.1 \
|
||||
ppmtopcx.1 \
|
||||
ppmtopgm.1 \
|
||||
diff --git a/converter/ppm/Makefile b/converter/ppm/Makefile
|
||||
index 003ef8d..09f05cd 100644
|
||||
index b97349d..f68170f 100644
|
||||
--- a/converter/ppm/Makefile
|
||||
+++ b/converter/ppm/Makefile
|
||||
@@ -7,7 +7,7 @@ VPATH=.:$(SRCDIR)/$(SUBDIR)
|
||||
|
@ -1,11 +0,0 @@
|
||||
diff -up netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c.pamtojpeg2kfix netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c
|
||||
--- netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c.pamtojpeg2kfix 2010-04-27 15:47:10.000000000 +0200
|
||||
+++ netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c 2010-05-03 15:37:49.934269588 +0200
|
||||
@@ -518,7 +518,5 @@ main(int argc, char **argv)
|
||||
|
||||
pm_close(ifP);
|
||||
|
||||
- pm_close(stdout);
|
||||
-
|
||||
return 0;
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
diff -up netpbm-10.58.01/converter/other/pnmtopclxl.c.pnmtopclxl netpbm-10.58.01/converter/other/pnmtopclxl.c
|
||||
--- netpbm-10.58.01/converter/other/pnmtopclxl.c.pnmtopclxl 2012-04-09 15:31:42.000000000 +0200
|
||||
+++ netpbm-10.58.01/converter/other/pnmtopclxl.c 2012-06-13 15:39:17.566141565 +0200
|
||||
@@ -269,10 +269,10 @@ XY_RLEnew(size_t const size) {
|
||||
|
||||
MALLOCVAR(rleP);
|
||||
if (rleP) {
|
||||
- rleP->fbuf = malloc(size);
|
||||
+ rleP->fbufsize = MAX(1024, size);
|
||||
+ rleP->fbuf = malloc(rleP->fbufsize);
|
||||
|
||||
if (rleP->fbuf) {
|
||||
- rleP->fbufsize = MAX(1024, size);
|
||||
retval = rleP;
|
||||
} else
|
||||
retval = NULL;
|
@ -1,13 +0,0 @@
|
||||
diff --git a/converter/other/Makefile b/converter/other/Makefile
|
||||
index f51a780..9df16bc 100644
|
||||
--- a/converter/other/Makefile
|
||||
+++ b/converter/other/Makefile
|
||||
@@ -121,7 +121,7 @@ PORTBINARIES = avstopam bmptopnm fitstopnm \
|
||||
pamtowinicon pamtoxvmini \
|
||||
pbmtopgm pdbimgtopam pfmtopam \
|
||||
pgmtopbm pgmtoppm ppmtopgm pnmtoddif \
|
||||
- pnmtopclxl pnmtorast \
|
||||
+ pnmtopclxl pnmtops pnmtorast \
|
||||
pnmtosgi pnmtosir pamtotga pnmtoxwd \
|
||||
rasttopnm rlatopam sgitopnm sirtopnm srftopam sunicontopnm \
|
||||
winicontopam xwdtopnm yuy2topam zeisstopnm
|
@ -1,68 +1,14 @@
|
||||
diff --git a/editor/ppmfade b/editor/ppmfade
|
||||
index 8eb094f..adcdb6d 100755
|
||||
index 5091651..23b3ecc 100755
|
||||
--- a/editor/ppmfade
|
||||
+++ b/editor/ppmfade
|
||||
@@ -60,7 +60,6 @@ my $base_name = "fade"; # default base name of output files
|
||||
my $image = "ppm"; # default output storage format
|
||||
my $mode = $SPREAD; # default fading mode
|
||||
|
||||
-
|
||||
my $n; # argument number
|
||||
|
||||
for ($n = 0; $n < @ARGV; $n++) {
|
||||
@@ -70,7 +69,7 @@ for ($n = 0; $n < @ARGV; $n++) {
|
||||
if (-e $first_file) {
|
||||
} else {
|
||||
print "I can't find first file '$first_file'\n";
|
||||
- exit 20;
|
||||
+ exit 1;
|
||||
}
|
||||
} elsif ($ARGV[$n] eq "-l") {
|
||||
$n++;
|
||||
@@ -78,7 +77,7 @@ for ($n = 0; $n < @ARGV; $n++) {
|
||||
if (-e $last_file) {
|
||||
} else {
|
||||
print "I can't find last file '$last_file'\n";
|
||||
- exit 20;
|
||||
+ exit 1;
|
||||
}
|
||||
} elsif ($ARGV[$n] eq "-base") {
|
||||
$n++;
|
||||
@@ -99,11 +98,12 @@ for ($n = 0; $n < @ARGV; $n++) {
|
||||
@@ -113,6 +113,9 @@ for ($n = 0; $n < @ARGV; $n++) {
|
||||
$mode = $BLOCK;
|
||||
} elsif ("$ARGV[$n]" eq "-mix") {
|
||||
$mode = $MIX;
|
||||
- } elsif ($ARGV[$n] eq "-help" || $ARGV[$n] eq "-h") {
|
||||
- usage();
|
||||
+ } elsif ($ARGV[$n] eq "-help" || $ARGV[$n] eq "--help" || $ARGV[$n] eq "-h") {
|
||||
+ print "ppmfade: Use 'man ppmfade' for help.\n";
|
||||
+ exit 1;
|
||||
} else {
|
||||
print "Unknown argument: $ARGV[$n]\n";
|
||||
- exit 100;
|
||||
+ exit 1;
|
||||
}
|
||||
}
|
||||
#
|
||||
@@ -122,18 +122,18 @@ if ($first_file ne "undefined") {
|
||||
$width = $1; $height = $2;
|
||||
} else {
|
||||
print("Unrecognized results from pnmfile on $first_file.\n");
|
||||
- exit(50);
|
||||
+ exit(1);
|
||||
}
|
||||
} elsif ($last_file ne "undefined") {
|
||||
if ((`pnmfile $last_file` =~ m{\b(\d+)\sby\s(\d+)} )) {
|
||||
$width = $1; $height = $2;
|
||||
} else {
|
||||
print("Unrecognized results from pnmfile on $first_file.\n");
|
||||
- exit(50);
|
||||
+ exit(1);
|
||||
}
|
||||
} else {
|
||||
print("ppmfade: You must specify -f or -l (or both)\n");
|
||||
- exit(90);
|
||||
+ exit(1);
|
||||
}
|
||||
|
||||
print("Frames are " . $width . "W x " . $height . "H\n");
|
||||
exit 100;
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/converter/ppm/ppmtopict.c b/converter/ppm/ppmtopict.c
|
||||
index 36464b6..034e705 100644
|
||||
--- a/converter/ppm/ppmtopict.c
|
||||
+++ b/converter/ppm/ppmtopict.c
|
||||
@@ -208,7 +208,7 @@ putRow(FILE * const ofP,
|
||||
|
||||
Use buffer 'outBuf'.
|
||||
-----------------------------------------------------------------------------*/
|
||||
- unsigned int i;
|
||||
+ int i;
|
||||
unsigned int count;
|
||||
unsigned int run;
|
||||
unsigned int rep;
|
@ -1,5 +1,5 @@
|
||||
diff --git a/analyzer/pgmtexture.c b/analyzer/pgmtexture.c
|
||||
index 0731733..635c58b 100644
|
||||
index 84c6bf4..c9576f5 100644
|
||||
--- a/analyzer/pgmtexture.c
|
||||
+++ b/analyzer/pgmtexture.c
|
||||
@@ -98,6 +98,8 @@ vector(unsigned int const nl,
|
||||
@ -65,10 +65,10 @@ index 69b20fb..382a487 100644
|
||||
pgm_writepgminit(stdout, cols, rows, maxval, 0) ;
|
||||
|
||||
diff --git a/converter/other/pnmtoddif.c b/converter/other/pnmtoddif.c
|
||||
index ae8c852..9ee037b 100644
|
||||
index ac02e42..a2f045b 100644
|
||||
--- a/converter/other/pnmtoddif.c
|
||||
+++ b/converter/other/pnmtoddif.c
|
||||
@@ -632,6 +632,7 @@ main(int argc, char *argv[]) {
|
||||
@@ -629,6 +629,7 @@ main(int argc, char *argv[]) {
|
||||
switch (PNM_FORMAT_TYPE(format)) {
|
||||
case PBM_TYPE:
|
||||
ip.bits_per_pixel = 1;
|
||||
@ -76,7 +76,7 @@ index ae8c852..9ee037b 100644
|
||||
ip.bytes_per_line = (cols + 7) / 8;
|
||||
ip.spectral = 2;
|
||||
ip.components = 1;
|
||||
@@ -647,6 +648,7 @@ main(int argc, char *argv[]) {
|
||||
@@ -644,6 +645,7 @@ main(int argc, char *argv[]) {
|
||||
ip.polarity = 2;
|
||||
break;
|
||||
case PPM_TYPE:
|
||||
@ -119,10 +119,10 @@ index ce231c9..1279040 100644
|
||||
((j_common_ptr) cinfo_p, JPOOL_IMAGE,
|
||||
(unsigned int) cinfo_p->image_width * cinfo_p->input_components,
|
||||
diff --git a/converter/other/pnmtops.c b/converter/other/pnmtops.c
|
||||
index 6cd6be9..8a7d25a 100644
|
||||
index c1dadc3..8f9f608 100644
|
||||
--- a/converter/other/pnmtops.c
|
||||
+++ b/converter/other/pnmtops.c
|
||||
@@ -292,17 +292,21 @@ parseCommandLine(int argc, const char ** argv,
|
||||
@@ -293,17 +293,21 @@ parseCommandLine(int argc, const char ** argv,
|
||||
validateCompDimension(width, 72, "-width value");
|
||||
validateCompDimension(height, 72, "-height value");
|
||||
|
||||
@ -146,7 +146,7 @@ index 6cd6be9..8a7d25a 100644
|
||||
}
|
||||
else
|
||||
diff --git a/converter/other/rletopnm.c b/converter/other/rletopnm.c
|
||||
index 9995914..058278c 100644
|
||||
index ff37cfe..a1dd7b9 100644
|
||||
--- a/converter/other/rletopnm.c
|
||||
+++ b/converter/other/rletopnm.c
|
||||
@@ -19,6 +19,8 @@
|
||||
@ -171,10 +171,10 @@ index fafcc91..9fe49d0 100644
|
||||
planesize = cols * rows;
|
||||
if ( !( sirarray = (unsigned char*) malloc( picsize ) ) )
|
||||
diff --git a/converter/other/tifftopnm.c b/converter/other/tifftopnm.c
|
||||
index 0d6494f..19e9e38 100644
|
||||
index f9e602f..4637afa 100644
|
||||
--- a/converter/other/tifftopnm.c
|
||||
+++ b/converter/other/tifftopnm.c
|
||||
@@ -1309,7 +1309,9 @@ convertRasterByRows(pnmOut * const pnmOutP,
|
||||
@@ -1317,7 +1317,9 @@ convertRasterByRows(pnmOut * const pnmOutP,
|
||||
if (scanbuf == NULL)
|
||||
pm_error("can't allocate memory for scanline buffer");
|
||||
|
||||
@ -186,7 +186,7 @@ index 0d6494f..19e9e38 100644
|
||||
pm_error("can't allocate memory for row buffer");
|
||||
|
||||
diff --git a/converter/other/xwdtopnm.c b/converter/other/xwdtopnm.c
|
||||
index 45d66b4..c914481 100644
|
||||
index d49a2b0..3a6b335 100644
|
||||
--- a/converter/other/xwdtopnm.c
|
||||
+++ b/converter/other/xwdtopnm.c
|
||||
@@ -209,6 +209,10 @@ processX10Header(X10WDFileHeader * const h10P,
|
||||
@ -346,7 +346,7 @@ index f43c08a..98e0284 100644
|
||||
printer.fptr=out;
|
||||
|
||||
diff --git a/converter/pbm/pbmtoxbm.c b/converter/pbm/pbmtoxbm.c
|
||||
index 14c6b85..362b70e 100644
|
||||
index 14c6b85..6323483 100644
|
||||
--- a/converter/pbm/pbmtoxbm.c
|
||||
+++ b/converter/pbm/pbmtoxbm.c
|
||||
@@ -351,6 +351,8 @@ convertRaster(FILE * const ifP,
|
||||
@ -440,10 +440,10 @@ index 07417d1..25bb311 100644
|
||||
for (row = 0; row < rows; ++row) {
|
||||
unsigned int col;
|
||||
diff --git a/converter/ppm/Makefile b/converter/ppm/Makefile
|
||||
index 09f05cd..f68170f 100644
|
||||
index 003ef8d..b97349d 100644
|
||||
--- a/converter/ppm/Makefile
|
||||
+++ b/converter/ppm/Makefile
|
||||
@@ -11,7 +11,7 @@ SUBDIRS = hpcdtoppm
|
||||
@@ -11,7 +11,7 @@ SUBDIRS = hpcdtoppm ppmtompeg
|
||||
|
||||
PORTBINARIES = 411toppm eyuvtoppm gouldtoppm ilbmtoppm imgtoppm \
|
||||
leaftoppm mtvtoppm neotoppm \
|
||||
@ -567,7 +567,7 @@ index e252ba2..270ae3b 100644
|
||||
if (headerCols > rawcols) {
|
||||
pm_message("warning - BytesPerLine = %d, "
|
||||
diff --git a/converter/ppm/picttoppm.c b/converter/ppm/picttoppm.c
|
||||
index 828d527..8cdb7b3 100644
|
||||
index d412038..a59bf77 100644
|
||||
--- a/converter/ppm/picttoppm.c
|
||||
+++ b/converter/ppm/picttoppm.c
|
||||
@@ -1,3 +1,4 @@
|
||||
@ -683,7 +683,7 @@ index fa68edc..97dfb2b 100644
|
||||
MALLOCARRAY_NOFAIL(indexRow, cols);
|
||||
MALLOCARRAY_NOFAIL(planesrow, BytesPerLine);
|
||||
diff --git a/converter/ppm/ppmtopict.c b/converter/ppm/ppmtopict.c
|
||||
index 034e705..4541387 100644
|
||||
index 36464b6..c91ccf2 100644
|
||||
--- a/converter/ppm/ppmtopict.c
|
||||
+++ b/converter/ppm/ppmtopict.c
|
||||
@@ -450,6 +450,8 @@ main(int argc, const char ** argv) {
|
||||
@ -708,10 +708,10 @@ index d116773..fc84cac 100644
|
||||
cbuf = (unsigned char *) pm_allocrow(cols * 2, sizeof(unsigned char));
|
||||
|
||||
diff --git a/converter/ppm/ppmtopjxl.c b/converter/ppm/ppmtopjxl.c
|
||||
index ddf4963..b2c7e8e 100644
|
||||
index 90bcef0..72d0027 100644
|
||||
--- a/converter/ppm/ppmtopjxl.c
|
||||
+++ b/converter/ppm/ppmtopjxl.c
|
||||
@@ -306,6 +306,9 @@ main(int argc, const char * argv[]) {
|
||||
@@ -267,6 +267,9 @@ main(int argc, const char * argv[]) {
|
||||
if (maxval > PCL_MAXVAL)
|
||||
pm_error("color range too large; reduce with ppmcscale");
|
||||
|
||||
@ -721,7 +721,7 @@ index ddf4963..b2c7e8e 100644
|
||||
/* Figure out the colormap. */
|
||||
pm_message("Computing colormap...");
|
||||
chv = ppm_computecolorhist(pixels, cols, rows, MAXCOLORS, &colors);
|
||||
@@ -325,6 +328,8 @@ main(int argc, const char * argv[]) {
|
||||
@@ -286,6 +289,8 @@ main(int argc, const char * argv[]) {
|
||||
case 0: /* direct mode (no palette) */
|
||||
bpp = bitsperpixel(maxval); /* bits per pixel */
|
||||
bpg = bpp; bpb = bpp;
|
||||
@ -730,7 +730,7 @@ index ddf4963..b2c7e8e 100644
|
||||
bpp = (bpp*3+7)>>3; /* bytes per pixel now */
|
||||
bpr = (bpp<<3)-bpg-bpb;
|
||||
bpp *= cols; /* bytes per row now */
|
||||
@@ -334,9 +339,13 @@ main(int argc, const char * argv[]) {
|
||||
@@ -295,9 +300,13 @@ main(int argc, const char * argv[]) {
|
||||
case 3: case 7: pclindex++;
|
||||
default:
|
||||
bpp = 8/pclindex;
|
||||
@ -888,18 +888,6 @@ index 7c41af3..72df687 100644
|
||||
outpam.width = rightcol - leftcol + 1;
|
||||
outpam.height = bottomrow - toprow + 1;
|
||||
|
||||
diff --git a/editor/pbmreduce.c b/editor/pbmreduce.c
|
||||
index f49c8d9..580e5e0 100644
|
||||
--- a/editor/pbmreduce.c
|
||||
+++ b/editor/pbmreduce.c
|
||||
@@ -94,6 +94,7 @@ main( argc, argv )
|
||||
if (halftone == QT_FS) {
|
||||
unsigned int col;
|
||||
/* Initialize Floyd-Steinberg. */
|
||||
+ overflow_add(newcols, 2);
|
||||
MALLOCARRAY(thiserr, newcols + 2);
|
||||
MALLOCARRAY(nexterr, newcols + 2);
|
||||
if (thiserr == NULL || nexterr == NULL)
|
||||
diff --git a/editor/pnmgamma.c b/editor/pnmgamma.c
|
||||
index b357b0d..ec612d3 100644
|
||||
--- a/editor/pnmgamma.c
|
||||
@ -937,10 +925,10 @@ index c6f1e84..c513a84 100755
|
||||
#
|
||||
# Copyright (C) 1991 by Jef Poskanzer.
|
||||
diff --git a/editor/pnmpad.c b/editor/pnmpad.c
|
||||
index 1904b68..0797cf1 100644
|
||||
index 168b73e..c248924 100644
|
||||
--- a/editor/pnmpad.c
|
||||
+++ b/editor/pnmpad.c
|
||||
@@ -527,6 +527,8 @@ main(int argc, const char ** argv) {
|
||||
@@ -631,6 +631,8 @@ main(int argc, const char ** argv) {
|
||||
|
||||
computePadSizes(cmdline, cols, rows, &lpad, &rpad, &tpad, &bpad);
|
||||
|
||||
@ -950,10 +938,10 @@ index 1904b68..0797cf1 100644
|
||||
|
||||
if (PNM_FORMAT_TYPE(format) == PBM_TYPE)
|
||||
diff --git a/editor/pnmremap.c b/editor/pnmremap.c
|
||||
index b2448cb..b924120 100644
|
||||
index ed758aa..73968be 100644
|
||||
--- a/editor/pnmremap.c
|
||||
+++ b/editor/pnmremap.c
|
||||
@@ -428,6 +428,7 @@ initFserr(struct pam * const pamP,
|
||||
@@ -430,6 +430,7 @@ initFserr(struct pam * const pamP,
|
||||
|
||||
unsigned int const fserrSize = pamP->width + 2;
|
||||
|
||||
@ -961,7 +949,7 @@ index b2448cb..b924120 100644
|
||||
fserrP->width = pamP->width;
|
||||
|
||||
MALLOCARRAY(fserrP->thiserr, pamP->depth);
|
||||
@@ -465,6 +466,7 @@ floydInitRow(struct pam * const pamP, struct fserr * const fserrP) {
|
||||
@@ -467,6 +468,7 @@ floydInitRow(struct pam * const pamP, struct fserr * const fserrP) {
|
||||
|
||||
int col;
|
||||
|
||||
@ -1029,41 +1017,29 @@ index 6cb8d3a..6f4bde9 100644
|
||||
if (hist == NULL)
|
||||
pm_error("Unable to allocate memory for histogram.");
|
||||
diff --git a/generator/pbmtext.c b/generator/pbmtext.c
|
||||
index 9f4366d..445d718 100644
|
||||
index cfb858a..e5c7bd1 100644
|
||||
--- a/generator/pbmtext.c
|
||||
+++ b/generator/pbmtext.c
|
||||
@@ -96,12 +96,14 @@ parseCommandLine(int argc, const char ** argv,
|
||||
@@ -122,8 +122,10 @@ parseCommandLine(int argc, const char ** argv,
|
||||
|
||||
for (i = 1; i < argc; ++i) {
|
||||
if (i > 1) {
|
||||
+ overflow_add(totaltextsize, 1);
|
||||
totaltextsize += 1;
|
||||
text = realloc(text, totaltextsize);
|
||||
if (text == NULL)
|
||||
pm_error("out of memory allocating space for input text");
|
||||
strcat(text, " ");
|
||||
- }
|
||||
+ }
|
||||
+ overflow_add(totaltextsize, strlen(argv[i]));
|
||||
totaltextsize += strlen(argv[i]);
|
||||
text = realloc(text, totaltextsize);
|
||||
if (text == NULL)
|
||||
@@ -712,6 +714,7 @@ getText(const char cmdline_text[],
|
||||
totaltextsize += strlen(argv[i]) + 1;
|
||||
if (totaltextsize > MAXLINECHARS)
|
||||
pm_error("input text too long");
|
||||
@@ -744,6 +746,7 @@ getText(char const cmdlineText[],
|
||||
pm_error("A line of input text is longer than %u characters."
|
||||
"Cannot process.", (unsigned)sizeof(buf)-1);
|
||||
"Cannot process", (unsigned int) MAXLINECHARS-1);
|
||||
if (lineCount >= maxlines) {
|
||||
+ overflow2(maxlines, 2);
|
||||
maxlines *= 2;
|
||||
REALLOCARRAY(text_array, maxlines);
|
||||
if (text_array == NULL)
|
||||
@@ -832,6 +835,7 @@ main(int argc, const char *argv[]) {
|
||||
hmargin = fontP->maxwidth;
|
||||
} else {
|
||||
vmargin = fontP->maxheight;
|
||||
+ overflow2(2, fontP->maxwidth);
|
||||
hmargin = 2 * fontP->maxwidth;
|
||||
}
|
||||
}
|
||||
REALLOCARRAY(textArray, maxlines);
|
||||
if (textArray == NULL)
|
||||
diff --git a/lib/libpam.c b/lib/libpam.c
|
||||
index cc6368e..4e10572 100644
|
||||
--- a/lib/libpam.c
|
||||
@ -1081,7 +1057,7 @@ index cc6368e..4e10572 100644
|
||||
/* Now we initialize the pointers to the individual tuples
|
||||
to make this a regulation C two dimensional array.
|
||||
diff --git a/lib/libpammap.c b/lib/libpammap.c
|
||||
index 55e1d3f..04b1ba3 100644
|
||||
index 2222491..ba27a4c 100644
|
||||
--- a/lib/libpammap.c
|
||||
+++ b/lib/libpammap.c
|
||||
@@ -108,7 +108,9 @@ allocTupleIntListItem(struct pam * const pamP) {
|
||||
@ -1154,10 +1130,10 @@ index 4374bbe..5ab7f83 100644
|
||||
+}
|
||||
|
||||
diff --git a/lib/pm.h b/lib/pm.h
|
||||
index e9f1405..da54391 100644
|
||||
index 47cbfe8..5005df2 100644
|
||||
--- a/lib/pm.h
|
||||
+++ b/lib/pm.h
|
||||
@@ -435,5 +435,12 @@ pm_parse_height(const char * const arg);
|
||||
@@ -434,5 +434,12 @@ pm_parse_height(const char * const arg);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1212,10 +1188,10 @@ index 3bc562a..645a376 100644
|
||||
{
|
||||
fprintf( stderr,
|
||||
diff --git a/urt/rle.h b/urt/rle.h
|
||||
index 8d72cb9..ac65b94 100644
|
||||
index 0766d22..c80a5fa 100644
|
||||
--- a/urt/rle.h
|
||||
+++ b/urt/rle.h
|
||||
@@ -161,6 +161,17 @@ rle_hdr /* End of typedef. */
|
||||
@@ -160,6 +160,17 @@ rle_hdr /* End of typedef. */
|
||||
*/
|
||||
extern rle_hdr rle_dflt_hdr;
|
||||
|
||||
@ -1271,17 +1247,17 @@ index b165175..e09ed94 100644
|
||||
++length; /*Cater for the null. */
|
||||
|
||||
diff --git a/urt/rle_getrow.c b/urt/rle_getrow.c
|
||||
index bd7d1c8..bd05698 100644
|
||||
index 679811c..cc1f5cb 100644
|
||||
--- a/urt/rle_getrow.c
|
||||
+++ b/urt/rle_getrow.c
|
||||
@@ -168,6 +168,7 @@ rle_get_setup(rle_hdr * const the_hdr) {
|
||||
register char * cp;
|
||||
@@ -160,6 +160,7 @@ rle_get_setup(rle_hdr * const the_hdr) {
|
||||
char * cp;
|
||||
|
||||
VAXSHORT( comlen, infile ); /* get comment length */
|
||||
VAXSHORT(comlen, infile); /* get comment length */
|
||||
+ overflow_add(comlen, 1);
|
||||
evenlen = (comlen + 1) & ~1; /* make it even */
|
||||
if ( evenlen )
|
||||
{
|
||||
if (evenlen) {
|
||||
MALLOCARRAY(comment_buf, evenlen);
|
||||
diff --git a/urt/rle_hdr.c b/urt/rle_hdr.c
|
||||
index 1611324..7c9c010 100644
|
||||
--- a/urt/rle_hdr.c
|
||||
@ -1418,7 +1394,7 @@ index ae8548b..c2ef37d 100644
|
||||
|
||||
|
||||
diff --git a/urt/rle_putcom.c b/urt/rle_putcom.c
|
||||
index ab2eb20..f6a6ff7 100644
|
||||
index ab2eb20..ce83615 100644
|
||||
--- a/urt/rle_putcom.c
|
||||
+++ b/urt/rle_putcom.c
|
||||
@@ -98,12 +98,14 @@ rle_putcom(const char * const value,
|
||||
|
@ -1,88 +1,5 @@
|
||||
diff --git a/converter/other/anytopnm b/converter/other/anytopnm
|
||||
index acf8813..335312a 100755
|
||||
--- a/converter/other/anytopnm
|
||||
+++ b/converter/other/anytopnm
|
||||
@@ -511,10 +511,7 @@ else
|
||||
inputFile="-"
|
||||
fi
|
||||
|
||||
-tempdir="${TMPDIR-/tmp}/anytopnm.$$"
|
||||
-mkdir -m 0700 $tempdir || \
|
||||
- { echo "Could not create temporary file. Exiting."; exit 1;}
|
||||
-trap 'rm -rf $tempdir' 0
|
||||
+tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1
|
||||
|
||||
# Take out all spaces
|
||||
# Find the filename extension for last-ditch efforts later
|
||||
@@ -537,12 +534,17 @@ typeDescription=`file "$file" | cut -d: -f2- | cut -c2-`
|
||||
determineType "$file" "$mimeType" "$typeDescription" "$fileExtension"
|
||||
|
||||
if [ "$filetype" = "unknown" ]; then
|
||||
- echo "$progname: unknown file type. " \
|
||||
- "'file' says mime type is '$mimeType', " 1>&2
|
||||
- echo "type description is '$typeDescription'" 1>&2
|
||||
+ if [ -d "$tempdir" ] ; then
|
||||
+ rm -rf "$tempdir"
|
||||
+ fi
|
||||
+
|
||||
exit 1
|
||||
fi
|
||||
|
||||
convertIt $file $filetype
|
||||
|
||||
+if [ -d "$tempdir" ] ; then
|
||||
+ rm -rf "$tempdir"
|
||||
+fi
|
||||
+
|
||||
exit 0
|
||||
diff --git a/editor/pamstretch-gen b/editor/pamstretch-gen
|
||||
index ba0e818..250fca0 100755
|
||||
--- a/editor/pamstretch-gen
|
||||
+++ b/editor/pamstretch-gen
|
||||
@@ -31,9 +31,7 @@ if [ "$1" = "" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
-tempdir="${TMPDIR-/tmp}/pamstretch-gen.$$"
|
||||
-mkdir -m 0700 $tempdir || \
|
||||
- { echo "Could not create temporary file. Exiting."; exit 1;}
|
||||
+tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1
|
||||
trap 'rm -rf $tempdir' 0 1 3 15
|
||||
|
||||
tempfile=$tempdir/pnmig
|
||||
diff --git a/editor/pnmmargin b/editor/pnmmargin
|
||||
index 0f57d1d..e0d3625 100755
|
||||
--- a/editor/pnmmargin
|
||||
+++ b/editor/pnmmargin
|
||||
@@ -11,11 +11,7 @@
|
||||
# documentation. This software is provided "as is" without express or
|
||||
# implied warranty.
|
||||
|
||||
-tempdir="${TMPDIR-/tmp}/pnmmargin.$$"
|
||||
-mkdir -m 0700 $tempdir || \
|
||||
- { echo "Could not create temporary file. Exiting." 1>&2; exit 1;}
|
||||
-trap 'rm -rf $tempdir' 0 1 3 15
|
||||
-
|
||||
+tempdir=$(mktemp -d -t ppmmargin.XXXXXXX) || exit 1
|
||||
tmp1=$tempdir/pnmm1
|
||||
tmp2=$tempdir/pnmm2
|
||||
tmp3=$tempdir/pnmm3
|
||||
@@ -90,6 +86,7 @@ else
|
||||
-white | -black )
|
||||
pnmpad $plainopt $color \
|
||||
-left=$size -right=$size -top=$size -bottom=$size $tmp1
|
||||
+ rm -rf "$tempdir"
|
||||
exit
|
||||
;;
|
||||
* )
|
||||
@@ -103,4 +100,4 @@ else
|
||||
pnmcat -tb $plainopt $tmp3 $tmp4 $tmp3
|
||||
fi
|
||||
|
||||
-
|
||||
+rm -rf "$tempdir"
|
||||
diff --git a/editor/ppmfade b/editor/ppmfade
|
||||
index 027fc79..8eb094f 100755
|
||||
index dcd7bf2..5091651 100755
|
||||
--- a/editor/ppmfade
|
||||
+++ b/editor/ppmfade
|
||||
@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@"
|
||||
@ -91,9 +8,9 @@ index 027fc79..8eb094f 100755
|
||||
use strict;
|
||||
+use File::Temp "tempdir";
|
||||
|
||||
my $SPREAD = 1;
|
||||
my $SHIFT = 2;
|
||||
@@ -137,20 +138,26 @@ if ($first_file ne "undefined") {
|
||||
sub doVersionHack($) {
|
||||
my ($argvR) = @_;
|
||||
@@ -149,20 +150,26 @@ if ($first_file ne "undefined") {
|
||||
|
||||
print("Frames are " . $width . "W x " . $height . "H\n");
|
||||
|
||||
@ -124,7 +41,7 @@ index 027fc79..8eb094f 100755
|
||||
}
|
||||
|
||||
#
|
||||
@@ -158,14 +165,14 @@ if ($last_file eq "undefined") {
|
||||
@@ -170,14 +177,14 @@ if ($last_file eq "undefined") {
|
||||
#
|
||||
|
||||
# Here's what our temporary files are:
|
||||
@ -147,7 +64,7 @@ index 027fc79..8eb094f 100755
|
||||
|
||||
my $i; # Frame number
|
||||
for ($i = 1; $i <= $nframes; $i++) {
|
||||
@@ -173,147 +180,147 @@ for ($i = 1; $i <= $nframes; $i++) {
|
||||
@@ -185,147 +192,147 @@ for ($i = 1; $i <= $nframes; $i++) {
|
||||
if ($mode eq $SPREAD) {
|
||||
if ($i <= 10) {
|
||||
my $n = $spline20[$i] * 100;
|
||||
@ -348,21 +265,3 @@ index 027fc79..8eb094f 100755
|
||||
+system("rm $tmpdir/junk*$$.ppm");
|
||||
|
||||
exit(0);
|
||||
diff --git a/editor/ppmshadow b/editor/ppmshadow
|
||||
index 62cdf8b..72e1b22 100755
|
||||
--- a/editor/ppmshadow
|
||||
+++ b/editor/ppmshadow
|
||||
@@ -97,9 +97,10 @@ sub makeConvolutionKernel($$) {
|
||||
|
||||
|
||||
my $tmpdir = $ENV{TMPDIR} || "/tmp";
|
||||
-my $ourtmp = "$tmpdir/ppmshadow$$";
|
||||
-mkdir($ourtmp, 0777) or
|
||||
- die("Unable to create directory for temporary files '$ourtmp");
|
||||
+my $ourtmp; chomp($ourtmp = `mktemp -d -t PPMshadow.XXXXXX`);
|
||||
+if ($? >> 8) {
|
||||
+ die "Can't create directory for temporary files";
|
||||
+}
|
||||
|
||||
# Process command line options
|
||||
|
||||
|
@ -1,21 +0,0 @@
|
||||
diff -up netpbm-10.47.05/converter/other/fiasco/config.h.time netpbm-10.47.05/converter/other/fiasco/config.h
|
||||
--- netpbm-10.47.05/converter/other/fiasco/config.h.time 2009-12-10 08:34:36.000000000 +0100
|
||||
+++ netpbm-10.47.05/converter/other/fiasco/config.h 2009-12-10 08:43:54.000000000 +0100
|
||||
@@ -19,7 +19,7 @@
|
||||
#define STDC_HEADERS 1
|
||||
|
||||
/* Define if you can safely include both <sys/time.h> and <time.h>. */
|
||||
-#define TIME_WITH_SYS_TIME 1
|
||||
+/* #undef TIME_WITH_SYS_TIME */
|
||||
|
||||
/* Define if the X Window System is missing or not being used. */
|
||||
#define X_DISPLAY_MISSING 1
|
||||
@@ -75,7 +75,7 @@
|
||||
#define HAVE_STRING_H 1
|
||||
|
||||
/* Define if you have the <sys/time.h> header file. */
|
||||
-#define HAVE_SYS_TIME_H 1
|
||||
+/* #undef HAVE_SYS_TIME_H */
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#define HAVE_UNISTD_H 1
|
@ -1,17 +0,0 @@
|
||||
diff --git a/lib/util/pm_c_util.h b/lib/util/pm_c_util.h
|
||||
index 01a0765..8f5aa01 100644
|
||||
--- a/lib/util/pm_c_util.h
|
||||
+++ b/lib/util/pm_c_util.h
|
||||
@@ -80,10 +80,10 @@
|
||||
#endif
|
||||
|
||||
#ifndef TRUE
|
||||
- #define TRUE true
|
||||
+ #define TRUE 1
|
||||
#endif
|
||||
#ifndef FALSE
|
||||
- #define FALSE false
|
||||
+ #define FALSE 0
|
||||
#endif
|
||||
|
||||
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
|
@ -1,13 +0,0 @@
|
||||
diff --git a/converter/other/xwdtopnm.c b/converter/other/xwdtopnm.c
|
||||
index d49a2b0..45d66b4 100644
|
||||
--- a/converter/other/xwdtopnm.c
|
||||
+++ b/converter/other/xwdtopnm.c
|
||||
@@ -1025,7 +1025,7 @@ pixelReader_getbits(pixelReader * const rdrP,
|
||||
unsigned long const bitsToTakeMask = lsbmask[nBitsToTake];
|
||||
/* E.g. if nbitsToTake is 4, this is 0x0000000F */
|
||||
|
||||
- unsigned long bitsToTake;
|
||||
+ unsigned int bitsToTake;
|
||||
/* The actual bits we take, in the 'nBitsToTake' low bits */
|
||||
|
||||
assert(nBitsToTake <= 32);
|
65
netpbm.spec
65
netpbm.spec
@ -1,7 +1,7 @@
|
||||
Summary: A library for handling different graphics file formats
|
||||
Name: netpbm
|
||||
Version: 10.71.02
|
||||
Release: 2%{?dist}
|
||||
Version: 10.75.99
|
||||
Release: 1%{?dist}
|
||||
# See copyright_summary for details
|
||||
License: BSD and GPLv2 and IJG and MIT and Public Domain
|
||||
Group: System Environment/Libraries
|
||||
@ -13,29 +13,10 @@ URL: http://netpbm.sourceforge.net/
|
||||
# and removing the .svn directories ( find -name "\.svn" -type d -print0 | xargs -0 rm -rf )
|
||||
# and removing the ppmtompeg code, due to patents ( rm -rf netpbm-%{version}/converter/ppm/ppmtompeg/ )
|
||||
Source0: netpbm-%{version}.tar.xz
|
||||
Patch1: netpbm-time.patch
|
||||
Patch2: netpbm-message.patch
|
||||
Patch3: netpbm-security-scripts.patch
|
||||
Patch4: netpbm-security-code.patch
|
||||
Patch5: netpbm-nodoc.patch
|
||||
Patch6: netpbm-gcc4.patch
|
||||
Patch7: netpbm-bmptopnm.patch
|
||||
Patch8: netpbm-CAN-2005-2471.patch
|
||||
Patch9: netpbm-xwdfix.patch
|
||||
Patch11: netpbm-multilib.patch
|
||||
Patch13: netpbm-glibc.patch
|
||||
Patch15: netpbm-docfix.patch
|
||||
Patch16: netpbm-ppmfadeusage.patch
|
||||
Patch17: netpbm-fiasco-overflow.patch
|
||||
Patch20: netpbm-noppmtompeg.patch
|
||||
Patch21: netpbm-cmuwtopbm.patch
|
||||
Patch22: netpbm-pamtojpeg2k.patch
|
||||
Patch23: netpbm-manfix.patch
|
||||
Patch24: netpbm-ppmtopict.patch
|
||||
Patch26: netpbm-werror.patch
|
||||
Patch27: netpbm-disable-pbmtog3.patch
|
||||
Patch28: netpbm-pnmtops.patch
|
||||
Patch29: netpbm-config.patch
|
||||
Patch0: rebase-helper-results/netpbm-security-scripts.patch
|
||||
Patch1: rebase-helper-results/netpbm-security-code.patch
|
||||
Patch2: rebase-helper-results/netpbm-ppmfadeusage.patch
|
||||
Patch3: rebase-helper-results/netpbm-noppmtompeg.patch
|
||||
BuildRequires: libjpeg-devel, libpng-devel, libtiff-devel, flex
|
||||
BuildRequires: libX11-devel, perl-generators, python, jasper-devel, libxml2-devel
|
||||
BuildRequires: ghostscript-core
|
||||
@ -90,33 +71,10 @@ netpbm-doc. You'll also need to install the netpbm-progs package.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1 -b .time
|
||||
%patch2 -p1 -b .message
|
||||
%patch3 -p1 -b .security-scripts
|
||||
%patch4 -p1 -b .security-code
|
||||
%patch5 -p1 -b .nodoc
|
||||
%patch6 -p1 -b .gcc4
|
||||
%patch7 -p1 -b .bmptopnm
|
||||
%patch8 -p1 -b .CAN-2005-2471
|
||||
%patch9 -p1 -b .xwdfix
|
||||
%patch11 -p1 -b .multilib
|
||||
%patch13 -p1 -b .glibc
|
||||
%patch15 -p1 -b .docfix
|
||||
%patch16 -p1 -b .ppmfadeusage
|
||||
%patch17 -p1 -b .fiasco-overflow
|
||||
%patch20 -p1 -b .noppmtompeg
|
||||
%patch21 -p1 -b .cmuwtopbmfix
|
||||
%patch22 -p1 -b .pamtojpeg2kfix
|
||||
%patch23 -p1 -b .manfix
|
||||
%patch24 -p1 -b .ppmtopict
|
||||
%patch26 -p1 -b .werror
|
||||
%patch27 -p1 -b .disable-pbmtog3
|
||||
%patch28 -p1 -b .pnmtops
|
||||
%patch29 -p1 -b .config
|
||||
|
||||
sed -i 's/STRIPFLAG = -s/STRIPFLAG =/g' config.mk.in
|
||||
rm -rf converter/other/jpeg2000/libjasper/
|
||||
sed -i -e 's/^SUBDIRS = libjasper/SUBDIRS =/' converter/other/jpeg2000/Makefile
|
||||
%patch0 -p1 -b .security-scripts
|
||||
%patch1 -p1 -b .security-code
|
||||
%patch2 -p1 -b .ppmfadeusage
|
||||
%patch3 -p1 -b .noppmtompeg
|
||||
|
||||
%build
|
||||
./configure <<EOF
|
||||
@ -262,6 +220,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%doc userguide/*
|
||||
|
||||
%changelog
|
||||
* Thu Jul 28 2016 Josef Ridky <jridky@redhat.com> - 10.75.99-1
|
||||
- Update no the latest upstream release 10.75.99 (#1361103)
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 10.71.02-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user