Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37397575
en ru br
Репозитории ALT
S:1.17.0-alt9
5.1: 1.17.0-alt8
4.1: 1.17.0-alt6
4.0: 1.17.0-alt6
3.0: 1.17.0-alt6
www.altlinux.org/Changes

Группа :: Графика
Пакет: xli

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: xli_1.17.0-18.diff
Скачать


--- xli-1.17.0.orig/pcx.c
+++ xli-1.17.0/pcx.c
@@ -5,6 +5,8 @@
 **	Adapted from code by Jef Poskanzer (see Copyright below).
 **
 **	Version 0.1 --  4/25/91 -- Initial cut
+**	Version 0.2 -- 2001-12-15 -- Support 8bit color images with palette.
+**				     (Alexandre Duret-Lutz <duret_g@epita.fr>)
 **
 **  Copyright (c) 1991 Tim Northrup
 **	(see file "tgncpyrght.h" for complete copyright information)
@@ -33,7 +35,9 @@
 
 #define PCX_MAGIC 0x0a			/* first byte in a PCX image file */
 
-static boolean PCX_LoadImage(ZFILE *zf, int in_bpr, int img_bpr, Image *image, int rows);		/* Routine to load a PCX file */
+/* Routine to load a PCX file */
+static boolean PCX_LoadImage(ZFILE *zf, int in_bpr, int img_bpr,
+			     Image *image, int rows, boolean readpal);
 
 
 /*
@@ -129,35 +133,42 @@
 	xmax = xmax - xmin + 1;
 	ymax = ymax - ymin + 1;
 	in_bpr = pcxhd[66] + ( 256 * pcxhd[67] );
-	img_bpr = (xmax + 7)/8;		/* assumes monochrome image */
+	img_bpr = (xmax * pcxhd[3] + 7)/8; /* Recompute the number of bytes
+					      per lines.  */
 
 	/* double check image */
 	if (xmax < 0 || ymax < 0 || in_bpr < img_bpr) {
 		zclose(zf);
 		return((Image *)NULL);
-		}
+	}
 
 	if (verbose)
 		printf("%s is a %dx%d PC Paintbrush image\n",name,xmax,ymax);
 
-	if (pcxhd[65] > 1) {
-		fprintf(stderr,"pcxLoad: %s - Unable to handle Color PCX image\n",name);
-		zclose(zf);
-		return((Image *)NULL);
-		}
+	/* Only monochorme or 8bits paletized images are supported.  */
+	if (pcxhd[65] > 1 || !(pcxhd[3] == 1 || pcxhd[3] == 8)) {
+		fprintf(stderr,
+			"pcxLoad: %s - Unsuported PCX type\n",
+			name);
+		zclose(zf);
+		return((Image *)NULL);
+	}
 
 	znocache(zf);
 
-	/* Allocate pbm array. */
-	image = newBitImage(xmax,ymax);
+	/* Allocate image. */
+	if (pcxhd[3] == 1)
+	  image = newBitImage(xmax, ymax);
+	else
+	  image = newRGBImage(xmax, ymax, pcxhd[3]);
 	image->title = dupString(name);
 
 	/* Read compressed bitmap. */
-	if (!PCX_LoadImage( zf, in_bpr, img_bpr, image, ymax )) {
+	if (!PCX_LoadImage(zf, in_bpr, img_bpr, image, ymax, pcxhd[3] == 8)) {
 		fprintf(stderr,"pcxLoad: %s - Short read of PCX file\n",name);
 		zclose(zf);
 		return(image);
-    }
+	}
 
 	read_trail_opt(image_ops,zf,image,verbose);
 	zclose(zf);
@@ -173,7 +184,8 @@
 **	Returns FALSE if there was a short read.
 */
 
-static boolean PCX_LoadImage (ZFILE *zf, int in_bpr, int img_bpr, Image *image, int rows)
+static boolean PCX_LoadImage (ZFILE *zf, int in_bpr, int img_bpr,
+			      Image *image, int rows, boolean readpal)
 {
 	/* Goes like this: Read a byte.  If the two high bits are set,
 	** then the low 6 bits contain a repeat count, and the byte to
@@ -185,10 +197,12 @@
 	int row = 0;
 	int bytes_this_row = 0;
 	int b, i, cnt;
+	/* For binary image we need to reverse all bits.  */
+	int xor_mask = (image->type == IBITMAP) ? 0xff : 0;
 
 	ptr = &(image->data[0]);
 
-	while ((b = zgetc(zf)) != EOF) {
+	while (row < rows && (b = zgetc(zf)) != EOF) {
 
 		if ((b & 0xC0) == 0xC0) {
 			/* have a repetition count -- mask flag bits */
@@ -201,12 +215,13 @@
 			cnt = 1;		/* no repeating this one */
 			}
 
+		b ^= xor_mask;
+
 		for ( i = 0; i < cnt; i++ ) {
-			if ( row >= rows ) {
-				return TRUE;
-				}
+			if ( row >= rows )
+				break;
 			if (bytes_this_row < img_bpr)
-				*ptr++ = (unsigned char) (255 - b);
+				*ptr++ = (unsigned char) b;
 			if (++bytes_this_row == in_bpr) {
 				/* start of a new line */
 				row++;
@@ -214,6 +229,26 @@
 				}
 			}
 		}
+	/* Read a palette if needed.  */
+	if (readpal) {
+		/* The palette is separated from the pixels data by dummy
+		   byte equal to 12.  */
+		if ((b = zgetc(zf)) == EOF || b != 12)
+			return FALSE;
+
+		for (cnt = 0; cnt < 256; ++cnt) {
+			int r, g, b;
+			if ((r = zgetc(zf)) == EOF
+			    || (g = zgetc(zf)) == EOF
+			    || (b = zgetc(zf)) == EOF)
+				return FALSE;
+			image->rgb.red[cnt] = r << 8;
+			image->rgb.green[cnt] = g << 8;
+			image->rgb.blue[cnt] = b << 8;
+		}
+		image->rgb.used = 256;
+	}
+
 
 	return TRUE;
 }
--- xli-1.17.0.orig/faces.c
+++ xli-1.17.0/faces.c
@@ -116,14 +116,23 @@
 
   znocache(zf);
   image= newRGBImage(w, h, d);
-  fname[strlen(fname) - 1]= ' ';
-  strcat(fname, lname);
-  fname[strlen(fname) - 1]= '\0';
-  image->title= dupString(fname);
+
+  if (!*fname && !*lname || ('\n' == *fname && '\n' == *lname)) {
+    image->title = dupString(name);
+  } else {
+    if (*fname) {
+      fname[strlen(fname) - 1] = ' ';
+    }
+    if (*lname) {
+      lname[strlen(lname) - 1] = '\0';
+    }
+    strncat(fname, lname, sizeof(fname) - strlen(fname) - 1);
+    fname[sizeof(fname) - 1] = '\0';
+    image->title = dupString(fname);
+  }
 
   /* image is greyscale; build RGB map accordingly
    */
-
 
   for (x= 0; x < image->rgb.size; x++)
     *(image->rgb.red + x)= *(image->rgb.green + x)= *(image->rgb.blue + x)=
--- xli-1.17.0.orig/zio.c
+++ xli-1.17.0/zio.c
@@ -30,7 +30,7 @@
 FILE *popen(const char *, const char *);
 
 #define MAX_ZFILES 32
-#define UULEN 128		/* uudecode buffer length */
+#define UULEN 128
 #define UUSTARTLEN 100		/* Lines to look though before assuming not uuencoded */
 
 static int uuread(ZFILE *zf, byte *buf, int len);
@@ -360,42 +360,73 @@
 	if (!strcmp(name, "stdin")) {
 		zf->type = ZSTDIN;
 		zf->stream = stdin;
-	}
+	} else {
+		char const *cmd = 0;
+
 #ifndef NO_UNCOMPRESS
-	/* if filename ends in `.Z' then open pipe to uncompress.  if your
-	 * system doesn't have uncompress you can define NO_UNCOMPRESS and
-	 * it just won't check for this.
-	 */
+		/* if filename ends in `.Z' then open pipe to uncompress.  if
+		 * your system doesn't have uncompress you can define
+		 * NO_UNCOMPRESS and it just won't check for this.
+		 */
 
 #ifdef HAVE_GUNZIP
-	else if ((strlen(name) > 3 && !strcasecmp(".gz", name + (strlen(name) - 3)))
-		 || (strlen(name) > 2 && !strcasecmp(".Z", name + (strlen(name) - 2)))) {
-		sprintf(buf, "gunzip -c %s", name);
-#else				/* #else its a unix compressed file, so use uncompress */
-	else if ((strlen(name) > (unsigned) 2) && !strcmp(".Z", name + (strlen(name) - 2))) {
-		sprintf(buf, "uncompress -c %s", name);
+		if (
+			(strlen(name) > 3 &&
+			!strcasecmp(".gz", name + strlen(name) - 3)) ||
+			(strlen(name) > 2 &&
+			!strcasecmp(".Z", name + strlen(name) - 2))
+		) {
+			cmd = "gunzip -c ";
+		}
+#else
+		/* it's a unix compressed file, so use uncompress */
+		if ((strlen(name) > (unsigned) 2) &&
+				!strcmp(".Z", name + (strlen(name) - 2))) {
+			cmd = "uncompress -c ";
+		}
+#endif /* HAVE_GUNZIP */
+#endif /* NO_UNCOMPRESS */
+
+		if (cmd) {
+			char *buf, *s, *t;
+
+			/* protect in single quotes, replacing single quotes
+			 * with '"'"', so worst-case expansion is 5x
+	  		 */
+			buf = (char *) lmalloc(
+				strlen(cmd) + 1 + 5 * strlen(name) + 1 + 1);
+			strcpy(buf, cmd);
+			s = buf + strlen(buf);
+			*s++ = '\'';
+			for (t = name; *t; ++t) {
+				if ('\'' == *t) {
+					strcpy(s, "'\"'\"'");
+					s += strlen(s);
+				} else {
+					*s++ = *t;
+				}
+			}
+			*s++ = '\'';
+			*s = '\0';
+
+			zf->type = ZPIPE;
+			zf->stream = popen(buf, "r");
+			lfree(buf);
+		} else {
+			/* default to normal stream
+			 */
+			zf->type = ZSTANDARD;
+#ifdef VMS
+			zf->stream = fopen(name, "r", "ctx=bin", "ctx=stm",
+				"rfm=stmlf");
+#else
+			zf->stream = fopen(name, "r");
 #endif
-		zf->type = ZPIPE;
-		if (!(zf->stream = popen(buf, "r"))) {
-			return (FALSE);
-		}
-	}
-#endif
-
-	/* default to normal stream
-	 */
-
-	else {
-		zf->type = ZSTANDARD;
-		if (!
-#ifdef VMS
-		    (zf->stream = fopen(name, "r", "ctx=bin", "ctx=stm", "rfm=stmlf"))
-#else
-		    (zf->stream = fopen(name, "r"))
-#endif
-		    ) {
-			return (FALSE);
-		}
+		}
+	}
+
+	if (!zf->stream) {
+		return (FALSE);
 	}
 
 	/* File is now open, so see if it is a uuencoded file */
--- xli-1.17.0.orig/rlelib.c
+++ xli-1.17.0/rlelib.c
@@ -12,7 +12,7 @@
  */
 
 #include "xli.h"
-#include <varargs.h>
+//#include <varargs.h>
 #include <ctype.h>
 #include "rle.h"
 
--- xli-1.17.0.orig/xli.man
+++ xli-1.17.0/xli.man
@@ -1,8 +1,10 @@
 .\"	@(#)x11:contrib/clients/xloadimage/xli.man 1.13 94/07/29 Labtam
 .\"	
-.TH XLI 1 "27 Jul 1994"
+.\" comment out xsetbg and xview (not in Debian package) - jrv
+.TH XLI 1 "28 Oct 2002"
 .SH NAME
-xli, xsetbg, xview \- load images into an X11 window or onto
+.\"	xli, xsetbg, xview \- load images into an X11 window or onto
+xli \- load images into an X11 window or onto
 the root window
 .SH SYNOPSIS
 \fIxli\fR [global_options] {[image_options] image ...}
@@ -19,18 +21,18 @@
 If the destination display cannot support the number of colors in the
 image, the image will be dithered (monochrome destination) or have its
 colormap reduced (color destination) as appropriate.  This can also be
-done forcibly with the \fI-halftone\fR, \fI-dither\fR, and
-\fI-colors\fR options.
+done forcibly with the \fI\-halftone\fR, \fI\-dither\fR, and
+\fI\-colors\fR options.
 .PP
 A variety of image manipulations can be specified, including gamma
-correction, brightening, clipping, dithering, depth-reduction,
+correction, brightening, clipping, dithering, depth\-reduction,
 rotation, and zooming.  Most of these manipulations have simple
 implementations; speed was opted for above accuracy.
 .PP
 If you are viewing a large image in a window, the initial window will
 be at most 90% of the size of the display unless the window manager
 does not correctly handle window size requests or if you've used the
-\fI-fullscreen\fR or \fI-fillscreen\fR options.
+\fI\-fullscreen\fR or \fI\-fillscreen\fR options.
 You may move the image around in the window
 by dragging with the first mouse button.  The cursor will indicate
 which directions you may drag, if any.
@@ -42,14 +44,14 @@
 Type space, 'n' or 'f' to move to the next image in the list.
 Type 'b' or 'p' to move to the previous image in the list.
 Type . to reload the image.
-Type l to rotate the image anti-clockwise.
+Type l to rotate the image anti\-clockwise.
 Type r to rotate the image clockwise.
 Type 0 to set the images assumed gamma to your display gamma
        (usually darkens images)
 Type 1 to set the images assumed gamma to 1.0
        (usually lightens images)
-Type 5-2 to lighten the image (5 in small steps, up to 2 in large steps)
-Type 6-9 to darken the image (6 in small steps, up to 9 in large steps)
+Type 5\-2 to lighten the image (5 in small steps, up to 2 in large steps)
+Type 6\-9 to darken the image (6 in small steps, up to 9 in large steps)
 .ad
 .fi
 .PP
@@ -57,8 +59,8 @@
 matching the available options.  See the section entitled \fIHINTS FOR
 GOOD IMAGE DISPLAYS\fR for some ideas.
 .PP
-\fIXsetbg\fR is equivalent to \fIxli -onroot -quiet\fR and
-\fIxview\fR is equivalent to \fIxli -view -verbose\fR.
+.\"\fIXsetbg\fR is equivalent to \fIxli \-onroot \-quiet\fR and
+.\"\fIxview\fR is equivalent to \fIxli \-view \-verbose\fR.
 .SH RESOURCE CLASS
 \fIxli\fR uses the resource class name \fI_XSETROOT_Id\FR for
 window managers which need this resource set.
@@ -66,27 +68,27 @@
 The following options affect the global operation of \fIxli\fR.
 They may be specified anywhere on the command line.
 .TP
--default
+\-default
 Set the root background to the default root weave.  This is the same
 as \fIxsetroot\fR with no arguments.
 .TP
--debug
+\-debug
 Talk to the X server in synchronous mode.  This is useful for
 debugging.  If an X error is seen while in this mode, a core will be
 dumped.
 .TP
--dumpcore
+\-dumpcore
 Signals will not be trapped, and instead a coredump will occur.
 .TP
--display \fIdisplay_name\fR
+\-display \fIdisplay_name\fR
 X11 display name to send the image(s) to.
 .TP
--dispgamma \fIDisplay_gamma\fR
+\-dispgamma \fIDisplay_gamma\fR
 Specify the gamma correction value appropriate for the display device.
 This overides the value read from the environment variable \fBDISPLAY_GAMMA\fR,
 or the default value of 2.2, which is approximately correct for
 many displays. A value of between 1.6 and 2.8 is reasonable. If individual
-images are too bright or dark, use the -gamma option.
+images are too bright or dark, use the \-gamma option.
 .PP
 There is an image provided with xli called 'chkgamma.jpg' that lets you
 set the display gamma reasonably accurately.  This file contains two
@@ -95,34 +97,34 @@
 When the display gamma is correct, then the two ramps should look symmetrical,
 and the point at which they look equally bright should be almost exactly half
 way from the top to the bottom. (To find this point it helps if you move away
-a little from the screen, and de-focus your eyes a bit.)
+a little from the screen, and de\-focus your eyes a bit.)
 .PP
 If the equal brightness point is above center increase the
 gamma, and decrease it if it is below the center. The value
 will usually be around 2.2 Once you've got it right, you can set
 the DISPLAY_GAMMA environment variable in your .profile
 .TP
--fillscreen
+\-fillscreen
 Use the whole screen for displaying an image. The image will be zoomed
-so that it just fits the size of the screen. If -onroot is also specified,
+so that it just fits the size of the screen. If \-onroot is also specified,
 it will be zoomed to completely fill the screen.
 .TP
--fit
+\-fit
 Force image to use the default visual and colormap.  This is useful if
 you do not want technicolor effects when the colormap focus is inside
 the image window, but it may reduce the quality of the displayed
-image.  This is on by default if -onroot or -windowid is specified.
-.TP
--fork
+image.  This is on by default if \-onroot or \-windowid is specified.
+.TP
+\-fork
 Fork xli.  This causes xli to disassociate itself from
-the shell.  This option automatically turns on -quiet.
-.TP
--fullscreen
+the shell.  This option automatically turns on \-quiet.
+.TP
+\-fullscreen
 Use the whole screen for displaying an image. The image will be surrounded by
-a border if it is smaller than the screen. If -onroot is also specified,
+a border if it is smaller than the screen. If \-onroot is also specified,
 the image will be zoomed so that it just fits the size of the screen.
 .TP
--geometry \fIWxH[{+-X}{+-}Y]\fR
+\-geometry \fIWxH[{+\-X}{+\-}Y]\fR
 This sets the size of the window onto which the images are loaded to a
 different value than the size of the image.  When viewing an image in
 a window, this can be used to set the size and position of the
@@ -131,121 +133,122 @@
 then the size will be chosen to be small enough to able to fit
 the window in the screen (as usual).
 .TP
--goto image_name
+\-goto image_name
 When the end of the list of images is reached, go to image 
 \fIimage_name\fR.  This is useful for generating looped slideshows.
 If more than one image of the same name as the target exists on the
 argument list, the first in the argument list is used.
 .TP
--help [option ...]
+\-help [option ...]
 Give information on an option or list of options.  If no option is
 given, a simple interactive help facility is invoked.
 .TP
--identify
+\-identify
 Identify the supplied images rather than display them.
 .TP
--install
+\-install
 Forcibly install the images colormap when the window is focused.
 This violates ICCCM standards and only exists to allow operation with
 naive window managers.  Use this option only if your window manager
 does not install colormaps properly.
 .TP
--list
+\-list
 List the images which are along the image path.
 .TP
--onroot
+\-onroot
 Load image(s) onto the root window instead of viewing in a window.
-This option automatically sets the -fit option.
-This is the opposite of \fI-view\fR.  \fIXSetbg\fR has this option set
-by default.  If used in conjunction with -fullscreen,
-the image will be zoomed to just fit. If used with -fillscreen, the image will
-be zoomed to completely fill the screen. -border, -at, and -center also affect the
+This option automatically sets the \-fit option.
+This is the opposite of \fI\-view\fR.  
+.\"\fIXSetbg\fR has this option set by default.  
+If used in conjunction with \-fullscreen,
+the image will be zoomed to just fit. If used with \-fillscreen, the image will
+be zoomed to completely fill the screen. \-border, \-at, and \-center also affect the
 results.
 .TP
--path
+\-path
 Displays the image path and image suffixes which will be used when
 looking for images.  These are loaded from ~/.xlirc and
 optionally from a system wide file (normally /usr/lib/xlirc).
 .TP
--pixmap
-Force the use of a pixmap as backing-store.  This is provided for
-servers where backing-store is broken (such as some versions of the
+\-pixmap
+Force the use of a pixmap as backing\-store.  This is provided for
+servers where backing\-store is broken (such as some versions of the
 AIXWindows server).  It may improve scrolling performance on servers
-which provide backing-store.
-.TP
--private
+which provide backing\-store.
+.TP
+\-private
 Force the use of a private colormap.  Normally colors are allocated
 shared unless there are not enough colors available.
 .TP
--quiet
-Forces \fIxli\fR and \fIxview\fR to be quiet.  This is the
-default for \fIxsetbg\fR, but the others like to whistle. 
-.TP
--supported
+\-quiet
+Forces \fIxli\fR and \fIxview\fR to be quiet.  
+.\"This is the default for \fIxsetbg\fR, but the others like to whistle. 
+.TP
+\-supported
 List the supported image types. 
 .TP
--verbose
+\-verbose
 Causes \fIxli\fR to be talkative, telling you what kind of
 image it's playing with and any special processing that it has to do. 
 This is the default for \fIxview\fR and \fIxli\fR. 
 .TP
--version
+\-version
 Print the version number and patchlevel of this version of
 \fIxli\fR.
 .TP
--view
-View image(s) in a window.  This is the opposite of \fI-onroot\fR and
+\-view
+View image(s) in a window.  This is the opposite of \fI\-onroot\fR and
 the default for \fIxview\fR and \fIxli\fR. 
 .TP
--visual \fIvisual_name\fR
+\-visual \fIvisual_name\fR
 Force the use of a specific visual type to display an image.  Normally
 \fIxli\fR tries to pick the best available image for a
 particular image type.  The available visual types are:  DirectColor,
 TrueColor, PseudoColor, StaticColor, GrayScale, and StaticGray.
 Nonconflicting names may be abbreviated and case is ignored.
 .TP
--windowid \fIhex_window_id\fR
+\-windowid \fIhex_window_id\fR
 Sets the background pixmap of a particular window ID.  The argument
 must be in hexadecimal and must be preceded by "0x" (\fIeg\fR
--windowid 0x40000b.  This is intended for setting the background
+\-windowid 0x40000b.  This is intended for setting the background
 pixmap of some servers which use untagged virtual roots
-(\fIeg\fR HP-VUE), but can have other interesting applications.
+(\fIeg\fR HP\-VUE), but can have other interesting applications.
 .SH PERSISTENT IMAGE OPTIONS
 The following options may precede each image.  They take effect from
 the next image, and continue until overridden or canceled with
-\fI-newoptions.\fR
-.TP
--border \fIcolor\fR
+\fI\-newoptions.\fR
+.TP
+\-border \fIcolor\fR
 This sets the background portion of the window or clipped image which is
 not covered by any images to be \fIcolor\fR.
 .TP
--brighten \fIpercentage\fR
+\-brighten \fIpercentage\fR
 Specify a percentage multiplier for a color images colormap.  A value
 of more than 100 will brighten an image, one of less than 100 will
 darken it. 
 .TP
--colors \fIn\fR
+\-colors \fIn\fR
 Specify the maximum number of colors to use in the image.  This is a
 way to forcibly reduce the depth of an image.
 .TP
--cdither
-.TP
--colordither
-Dither the image with a Floyd-Steinberg dither if the number of colors is reduced.
+\-cdither
+.TP
+\-colordither
+Dither the image with a Floyd\-Steinberg dither if the number of colors is reduced.
 This will be slow, but will give a better looking result with a restricted color
-set. \fI-cdither\fR and \fI-colordither\fR are equivalent.
-.TP
--delay \fIsecs\fR
+set. \fI\-cdither\fR and \fI\-colordither\fR are equivalent.
+.TP
+\-delay \fIsecs\fR
 Sets xli to automatically advance to the following image,
 \fIsecs\fR seconds after the next image file is displayed.
 .TP
--dither
-Dither a color image to monochrome using a Floyd-Steinberg dithering
+\-dither
+Dither a color image to monochrome using a Floyd\-Steinberg dithering
 algorithm.  This happens by default when viewing color images on a
-monochrome display.  This is slower than \fI-halftone\fR and affects
+monochrome display.  This is slower than \fI\-halftone\fR and affects
 the image accuracy but usually looks much better.
 .TP
--gamma \fIImage_gamma\fR
+\-gamma \fIImage_gamma\fR
 Specify the gamma of the display the image was intended to be displayed on.
 Images seem to
 come in two flavors: 1) linear color images, produced by ray tracers,
@@ -261,35 +264,35 @@
 as if it were a linear image, then it will look too light, and a gamma value of
 (approximately) 2.2 should be specified for that image.
 Some formats (RLE) allow the image gamma to be embedded as a comment in the
-file itself, and the -gamma option allows overriding of the file comment.
+file itself, and the \-gamma option allows overriding of the file comment.
 In general, values smaller than 2.2 will lighten the image, and values
 greater than 2.2 will darken the image.
-In general this will work better than the -brighten option.
-.TP
--gray
+In general this will work better than the \-brighten option.
+.TP
+\-gray
 Convert an image to grayscale.  This is very useful when displaying
 colorful images on servers with limited color capability.  The
-optional spelling \fI-grey\fR may also be used.
-.TP
--idelay \fIsecs\fR
+optional spelling \fI\-grey\fR may also be used.
+.TP
+\-idelay \fIsecs\fR
 Set the delay to be used for this image to \fIsecs\fR seconds (see
-\fI-delay\fR).  If \fI-delay\fR was specified, this overrides it.  If
+\fI\-delay\fR).  If \fI\-delay\fR was specified, this overrides it.  If
 it was not specified, this sets the automatic advance delay for this
 image while others will wait for the user to advance them.
 .TP
--smooth
+\-smooth
 Smooth a color image.  This reduces blockiness after zooming an image
 up.  If used on a monochrome image, nothing happens.  This option can
 take awhile to perform, especially on large images.  You may specify
-more than one \fI-smooth\fR option per image, causing multiple
+more than one \fI\-smooth\fR option per image, causing multiple
 iterations of the smoothing algorithm.
 .TP
--title \fIwindow_title\fR
+\-title \fIwindow_title\fR
 Set the titlebar of the window used to display the image.
 This will overide any title that is read from the image
 file. The title will also be used for the icon name.
 .TP
--xpm \fIcolor_context_key\fR
+\-xpm \fIcolor_context_key\fR
 Select the prefered xpm colour map. XPM files may contain more than one
 color mapping, each mapping being appropriate for a particular visual.
 Normally xli will select an apropriate color mapping from that supported
@@ -298,98 +301,98 @@
 Legal values of  \fIcolor_context_key\fR are: m, g4, g and c.
 m = mono, g4 = 4 level gray, g = gray, c = color ).
 .TP
--xzoom \fIpercentage\fR
+\-xzoom \fIpercentage\fR
 Zoom the X axis of an image by \fIpercentage\fR.  A number greater
 than 100 will expand the image, one smaller will compress it.  A zero
-value will be ignored.  This option, and the related \fI-yzoom\fR are
+value will be ignored.  This option, and the related \fI\-yzoom\fR are
 useful for correcting the aspect ratio of images to be displayed.
 .TP
--yzoom \fIpercentage\fR
-Zoom the Y axis of an image by \fIpercentage\fR.  See \fI-xzoom\fR for
+\-yzoom \fIpercentage\fR
+Zoom the Y axis of an image by \fIpercentage\fR.  See \fI\-xzoom\fR for
 more information. 
 .TP
--zoom \fIpercentage\fR
-Zoom both the X and Y axes by \fIpercentage\fR.  See \fI-xzoom\fR for
+\-zoom \fIpercentage\fR
+Zoom both the X and Y axes by \fIpercentage\fR.  See \fI\-xzoom\fR for
 more information.  Technically the percentage actually zoomed is the
 square of the number supplied since the zoom is to both axes, but I
 opted for consistency instead of accuracy.
 .TP
--newoptions
-Reset options that propagate.  The \fI-bright, -colors, -colordither, -delay,
--dither, -gamma, -gray, -normalize, -smooth, -xzoom, -yzoom\fR, and
-\fI-zoom\fR options normally propagate to all following images.
+\-newoptions
+Reset options that propagate.  The \fI\-bright, \-colors, \-colordither, \-delay,
+\-dither, \-gamma, \-gray, \-normalize, \-smooth, \-xzoom, \-yzoom\fR, and
+\fI\-zoom\fR options normally propagate to all following images.
 .SH LOCAL IMAGE OPTIONS
 The following options may precede each image.  These options are
 local to the image they precede. 
 .TP
--at \fIX\fR,\fIY\fR
+\-at \fIX\fR,\fIY\fR
 Indicates coordinates to load the image at \fIX\fR,\fIY\fR on the base image.
-If this is an option to the first image, and the \fI-onroot\fR option is
+If this is an option to the first image, and the \fI\-onroot\fR option is
 specified, the image will be loaded at the given location on the
 display background. 
 .TP
--background \fIcolor\fR
+\-background \fIcolor\fR
 Use \fIcolor\fR as the background color instead of the default
 (usually white but this depends on the image type) if you are
 transferring a monochrome image to a color display. 
 .TP
--center
+\-center
 Center the image on the base image loaded.  If this is an option to
-the first image, and the \fI-onroot\fR option is specified, the image
+the first image, and the \fI\-onroot\fR option is specified, the image
 will be centered on the display background. 
 .TP
--clip \fIX\fR,\fIY\fR,\fIW\fR,\fIH\fR
+\-clip \fIX\fR,\fIY\fR,\fIW\fR,\fIH\fR
 Clip the image before loading it.  \fIX\fR and \fIY\fR define the
-upper-left corner of the clip area, and \fIW\fR and \fIH\fR define the
+upper\-left corner of the clip area, and \fIW\fR and \fIH\fR define the
 extents of the area.  A zero value for \fIW\fR or \fIH\fR will be
 interpreted as the remainder of the image. 
 Note that \fIX\fR and \fIY\fR may be negative, and that \fIW\fR and \fIH\fR
 may be larger than the image. This causes a border to be placed around the
-image. The border color may be set with the \fI-border\fR option.
-.TP
--expand
+image. The border color may be set with the \fI\-border\fR option.
+.TP
+\-expand
 Forces the image (after all other optional processing) to be expanded
 into a True Color (24 bit) image. This is useful on systems which support
 24 bit color, but where xli might choose to load a bitmap or 8 bit image
 into one of the other smaller depth visuals supported on your system.
 .TP
--foreground \fIcolor\fR
+\-foreground \fIcolor\fR
 Use \fIcolor\fR as the foreground color instead of black if you are
 transferring a monochrome image to a color display.  This can also be
 used to invert the foreground and background colors of a monochrome
 image. 
 .TP
--halftone
+\-halftone
 Force halftone dithering of a color image when displaying on a
 monochrome display.  This option is ignored on monochrome images.
 This dithering algorithm blows an image up by sixteen times; if you
-don't like this, the \fI-dither\fR option will not blow the image up
+don't like this, the \fI\-dither\fR option will not blow the image up
 but will take longer to process and will be less accurate.
 .TP
--invert
-Inverts a monochrome image.  This is shorthand for \fI-foreground
-white -background black\fR.
-.TP
--merge
+\-invert
+Inverts a monochrome image.  This is shorthand for \fI\-foreground
+white \-background black\fR.
+.TP
+\-merge
 Merge this image onto the base image after local processing.  The base
 image is considered to be the first image specified or the last image
-that was not preceded by \fI-merge\fR.  If used in conjunction with
-\fI-at\fR and \fI-clip\fR, very complex images can be built up.
+that was not preceded by \fI\-merge\fR.  If used in conjunction with
+\fI\-at\fR and \fI\-clip\fR, very complex images can be built up.
 Note that the final image will be the size of the first image, and that
 subsequent merged images overlay previous images. The final image size
-can be altered by using the \fI-clip\fR option on the base image to
+can be altered by using the \fI\-clip\fR option on the base image to
 make it bigger or smaller.
-This option is on by default for all images if the \fI-onroot\fR or
-\fI-windowid\fR options are specified.
-.TP
--name \fIimage_name\fR
+This option is on by default for all images if the \fI\-onroot\fR or
+\fI\-windowid\fR options are specified.
+.TP
+\-name \fIimage_name\fR
 Force the next argument to be treated as an image name.  This is
-useful if the name of the image is \fI-dither\fR, for instance. 
-.TP
--normalize
+useful if the name of the image is \fI\-dither\fR, for instance. 
+.TP
+\-normalize
 Normalize a color image.
 .TP
--rotate \fIdegrees\fR
+\-rotate \fIdegrees\fR
 Rotate the image by \fIdegrees\fR clockwise.  The number must be a
 multiple of 90.
 .SH EXAMPLES
@@ -397,69 +400,69 @@
 it to fill the entire background:
 .sp
 .ti +5
-xli -onroot my.image
+xli \-onroot my.image
 .PP
 To load a monochrome image "my.image" onto the background, using red
 as the foreground color, replicate the image, and overlay
 "another.image" onto it at coordinate (10,10):
 .sp
 .ti +5
-xli -foreground red my.image -at 10,10 another.image
+xli \-foreground red my.image \-at 10,10 another.image
 .PP
 To center the rectangular region from 10 to 110 along the X axis and
 from 10 to the height of the image along the Y axis:
 .sp
 .ti +5
-xli -center -clip 10,10,100,0 my.image
+xli \-center \-clip 10,10,100,0 my.image
 .PP
 To double the size of an image:
 .sp
 .ti +5
-xli -zoom 200 my.image
+xli \-zoom 200 my.image
 .PP
 To halve the size of an image:
 .sp
 .ti +5
-xli -zoom 50 my.image
+xli \-zoom 50 my.image
 .PP
 To brighten a dark image:
 .sp
 .ti +5
-xli -brighten 150 my.image
+xli \-brighten 150 my.image
 .PP
 To darken a bright image:
 .sp
 .ti +5
-xli -brighten 50 my.image
+xli \-brighten 50 my.image
 .SH HINTS FOR GOOD IMAGE DISPLAYS
 Since images are likely to come from a variety of sources, they may be
 in a variety of aspect ratios which may not be supported by your
-display.  The \fI-xzoom\fR and \fI-yzoom\fR options can be used to
+display.  The \fI\-xzoom\fR and \fI\-yzoom\fR options can be used to
 change the aspect ratio of an image before display.  If you use these
 options, it is recommended that you increase the size of one of the
 dimensions instead of shrinking the other, since shrinking looses
 detail.  For instance, many GIF and G3 FAX images have an X:Y ratio of
 about 2:1.  You can correct this for viewing on a 1:1 display with
-either \fI-xzoom 50\fR or \fI-yzoom 200\fR (reduce X axis to 50% of
+either \fI\-xzoom 50\fR or \fI\-yzoom 200\fR (reduce X axis to 50% of
 its size and expand Y axis to 200% of its size, respectively) but the
 latter should be used so no detail is lost in the conversion.
 .PP
 When zooming color images up you can reduce blockiness with
-\fI-smooth\fR.  For zooms of 300% or more, I recommend two smoothing
+\fI\-smooth\fR.  For zooms of 300% or more, I recommend two smoothing
 passes (although this can take awhile to do on slow machines).  There
 will be a noticeable improvement in the image.
 .PP
 You can perform image processing on a small portion of an image by
-loading the image more than once and using the \fI-merge\fR, \fI-at\fR
-and \fI-clip\fR options.  Load the image, then merge it with a
+loading the image more than once and using the \fI\-merge\fR, \fI\-at\fR
+and \fI\-clip\fR options.  Load the image, then merge it with a
 clipped, processed version of itself.  To brighten a 100x100 rectangular
 portion of an image located at (50,50), for instance, you could type:
 .sp
 .ti +5
-xli my.image -merge -at 50,50 -clip 50,50,100,100 -brighten 150 my.image
+xli my.image \-merge \-at 50,50 \-clip 50,50,100,100 \-brighten 150 my.image
 .PP
 If you're using a display with a small colormap to display colorful
-images, try using the \fI-gray\fR option to convert to grayscale.
+images, try using the \fI\-gray\fR option to convert to grayscale.
 .SH XLITO
 \fIxlito\fR (XLoadImageTrailingOptions) is a separate utility that provides
 a file format independent way of marking image files with the appropriate
@@ -486,30 +489,30 @@
 Changed or added with:
 .sp
 .ti +5
-xlito -c "string of options" image_file
+xlito \-c "string of options" image_file
 .PP
 And deleted with:
 .sp
 .ti +5
-xlito -d image_file ...
+xlito \-d image_file ...
 .PP
 For example, if you have a gif file fred.gif which is too dark and is the
 wrong aspect ratio, then it may need to be viewed with:
 .sp
 .ti +5
-xli -yzoom 130 -gamma 1.0 fred.gif
+xli \-yzoom 130 \-gamma 1.0 fred.gif
 .PP
 to get it to look OK. These options can then be appended to the file by:
 .sp
 .ti +5
-xlito -c "-yzoom 130 -gamma 1.0" fred.gif
+xlito \-c "\-yzoom 130 \-gamma 1.0" fred.gif
 .PP
 and from then on xli will get the appropriate options from the
 image file itself.  See the  \fIxlito\fR manual entry for more details
 about this utility.
 
 .SH PATHS AND EXTENSIONS
-The file ~/.xlirc (and optionally a system-wide file) defines
+The file ~/.xlirc (and optionally a system\-wide file) defines
 the path and default extensions that \fIxli\fR will use when
 looking for images.  This file can have two statements: "path=" and
 "extension=" (the equals signs must follow the word with no spaces
@@ -520,7 +523,7 @@
 appended to the supplied image name if the supplied name does not
 specify an existing file.  As with paths, these extensions will be
 searched in the order they are given.  Comments are any portion of a
-line following a hash-mark (#).
+line following a hash\-mark (#).
 .PP
 The following is a sample ~/.xlirc file:
 .PP
@@ -535,10 +538,10 @@
 .fi
 .PP
 Versions of \fIxli\fR prior to version 01, patchlevel 03 would
-load the system-wide file (if any), followed by the user's file.  This
+load the system\-wide file (if any), followed by the user's file.  This
 behavior made it difficult for the user to configure her environment
 if she didn't want the default.  Newer versions will ignore the
-system-wide file if a personal configuration file exists.
+system\-wide file if a personal configuration file exists.
 .SH IMAGE TYPES
 .PP
 \fIxli\fR currently supports the following image types:
@@ -568,7 +571,7 @@
 .fi
 .PP
 Normal, compact, and raw PBM images are supported.  Both standard and
-run-length encoded Sun rasterfiles are supported.  Any image whose
+run\-length encoded Sun rasterfiles are supported.  Any image whose
 name ends in .Z is assumed to be a compressed image and will be
 filtered through "uncompress". If HAVE_GUNZIP is defined in the
 Makefile.std make file, then any image whose name ends in
@@ -595,19 +598,19 @@
 smar@reptiles.org
 .fi
 .PP
-For a more-or-less complete list of other contributors (there are a
+For a more\-or\-less complete list of other contributors (there are a
 \fIlot\fR of them), please see the README file enclosed with the
 distribution.
 .SH FILES
 .nf
 .in +5
-xli	                    - the image loader and viewer
-xsetbg                  - pseudonym which quietly sets the background
-xview                   - pseudonym which views in a window
-xlito                   - the trailing options utility
-/usr/lib/X11/Xli        - default system-wide configuration file
-~/.xlirc                - user's personal configuration file
-.in -5
+xli	                    \- the image loader and viewer
+.\"xsetbg                  \- pseudonym which quietly sets the background
+.\"xview                   \- pseudonym which views in a window
+xlito                   \- the trailing options utility
+/usr/lib/X11/Xli        \- default system\-wide configuration file
+~/.xlirc                \- user's personal configuration file
+.in \-5
 .fi
 .SH COPYRIGHT
 Copyright (c) 1989, 1990, 1991, 1992, 1993 Jim Frost, Graeme Gill and others.
@@ -634,7 +637,7 @@
 file, but \fIxli\fR will only display the first.
 .PP
 One of the pseudonyms for \fIxli\fR, \fIxview\fR, is the same
-name as Sun uses for their SunView-under-X package.  This will be
+name as Sun uses for their SunView\-under\-X package.  This will be
 confusing if you're one of those poor souls who has to use Sun's
 XView.
 .PP
@@ -646,9 +649,9 @@
 also ignore the MaxSize argument's real function, to limit the maximum
 size of the window, and allow the window to be resized larger than the
 image.  If this happens, \fIxli\fR merely places the image in
-the upper-left corner of the window and uses the zero-value'ed pixel
+the upper\-left corner of the window and uses the zero\-value'ed pixel
 for any space which is not covered by the image.  This behavior is
-less-than-graceful but so are window managers which are cruel enough
+less\-than\-graceful but so are window managers which are cruel enough
 to ignore such details.
 .PP
 The order in which operations are performed on an image is independent
--- xli-1.17.0.orig/ddxli.h
+++ xli-1.17.0/ddxli.h
@@ -36,12 +36,14 @@
 
 /* equate bcopy with memcpy and bzero with memset where appropriate. */
 #ifdef HAS_MEMCPY
+#ifndef __linux__
 #ifndef bcopy
 #define bcopy(S,D,N) memcpy((char *)(D),(char *)(S),(N))
 #endif
 #ifndef bzero
 #define bzero(P,N) memset((P),'\0',(N))
 #endif
+#endif /* __linux__ */
 #ifndef bfill
 #define bfill(P,N,C) memset((P),(C),(N))
 #endif
--- xli-1.17.0.orig/zoom.c
+++ xli-1.17.0/zoom.c
@@ -12,25 +12,19 @@
 #include "xli.h"
 
 static unsigned int *buildIndex(unsigned int width, unsigned int zoom, unsigned int *rwidth)
-{ float         fzoom;
-  unsigned int *index;
-  unsigned int  a;
-
-  if (!zoom) {
-    fzoom= 100.0;
-    *rwidth= width;
-  }
-  else {
-    fzoom= (float)zoom / 100.0;
-    *rwidth= (unsigned int)(fzoom * width + 0.5);
-  }
-  index= (unsigned int *)lmalloc(sizeof(unsigned int) * *rwidth);
-  for (a= 0; a < *rwidth; a++)
-    if (zoom)
-      *(index + a)= (unsigned int)((float)a / fzoom + 0.5);
-    else
-      *(index + a)= a;
-  return(index);
+{
+	unsigned int *index;
+	unsigned int	a;
+
+	if (!zoom) {
+		zoom = 100;
+	}
+	*rwidth = width * zoom / 100;
+	index= (unsigned int *)lmalloc(sizeof(unsigned int) * *rwidth);
+	for (a = 0; a < *rwidth; a++)
+		*(index + a) = a * (width - 1) / (*rwidth - 1);
+		
+	return(index);
 }
 
 Image *zoom(Image *oimage, unsigned int xzoom, unsigned int yzoom, boolean verbose, boolean changetitle)
--- xli-1.17.0.orig/new.c
+++ xli-1.17.0/new.c
@@ -104,6 +104,18 @@
 	lfree((byte *) rgb->blue);
 }
 
+static unsigned int ovmul(unsigned int a, unsigned int b)
+{
+	unsigned int r;
+
+	r = a * b;
+	if (r / a != b) {
+		memoryExhausted();
+	}
+
+	return r;
+}
+
 static Image *newImage(unsigned width, unsigned height)
 {
 	Image *image;
@@ -133,7 +145,7 @@
 	image->rgb.used = 2;
 	image->depth = 1;
 	linelen = ((width + 7) / 8);
-	image->data = (unsigned char *) lcalloc(linelen * height);
+	image->data = (unsigned char *) lcalloc(ovmul(linelen, height));
 
 	return image;
 }
@@ -157,7 +169,8 @@
 	newRGBMapData(&(image->rgb), numcolors);
 	image->depth = depth;
 	image->pixlen = pixlen;
-	image->data = (unsigned char *) lmalloc(width * height * pixlen);
+	image->data =
+		(unsigned char *) lmalloc(ovmul(ovmul(width, height), pixlen));
 
 	return image;
 }
@@ -172,7 +185,8 @@
 	image->rgb.used = image->rgb.size = 0;
 	image->depth = 24;
 	image->pixlen = 3;
-	image->data = (unsigned char *) lmalloc(width * height * 3);
+	image->data =
+		(unsigned char *) lmalloc(ovmul(ovmul(width, height), 3));
 
 	return image;
 }
--- xli-1.17.0.orig/Imakefile
+++ xli-1.17.0/Imakefile
@@ -9,7 +9,7 @@
 # -DHAVE_BOOLEAN  if your system declares 'boolean' somewhere
 
 #ifdef HPArchitecture
-      CCOPTIONS = -Aa -D_HPUX_SOURCE
+#      CCOPTIONS = -Aa -D_HPUX_SOURCE
 #endif
 
 JPEG_INCLUDES = 
@@ -22,7 +22,7 @@
 DEPLIBS = $(DEPXLIB)
 LOCAL_LIBRARIES = $(XLIB) $(JPEG_LDFLAGS) $(PNG_LDFLAGS) -ljpeg -lpng -lz
 SYS_LIBRARIES = -lm
-DEFINES = -DHAS_MEMCPY
+DEFINES = -DHAS_MEMCPY -DHAVE_GUNZIP
 EXTRA_INCLUDES = $(JPEG_INCLUDES) $(PNG_INCLUDES)
 
 SRCS1 = bright.c clip.c cmuwmrast.c compress.c dither.c faces.c fbm.c fill.c  g3.c gif.c halftone.c imagetypes.c img.c mac.c mcidas.c mc_tables.c merge.c misc.c new.c options.c path.c pbm.c pcx.c reduce.c jpeg.c rle.c rlelib.c root.c rotate.c send.c smooth.c sunraster.c  value.c window.c xbitmap.c xli.c xpixmap.c xwd.c zio.c zoom.c ddxli.c tga.c bmp.c pcd.c png.c
--- xli-1.17.0.orig/ChangeLog
+++ xli-1.17.0/ChangeLog
@@ -0,0 +1,44 @@
+1998-07-19  James R. Van Zandt  <jrv@vanzandt.mv.com>
+
+	* options.c: including <stdlib.h> for atof() and atoi(), no longer
+	declaring atof().
+
+1998-07-18  James R. Van Zandt  <jrv@vanzandt.mv.com>
+
+	* sunraster.c (sunRasterLoad): Using () around assignment
+
+	* g3.c (g3_addtohash): 
+
+	* xlito.c (argv): main returns int
+	including <unistd.h> for close(), fseek(), etc.
+	including <string.h> for strncmp()
+	including <stdlib.h> for atoi()
+
+	* bmp.c: using %ld for long int
+
+	* zio.c: including <stdlib.h> for free()
+
+	* xwd.c (xwdLoad): supplying visual class name for error message.
+
+	* xli.c (main): main returns int
+	including <unistd.h> for fork()
+
+	* sunraster.c (babble): line 46: using %ld for long int
+
+	* send.c (pixmapErrorTrap): line 32: using %ld for long int
+
+	* jpeg.c (d_ui_method_selection): line 184: using %ld for long ints
+
+	* path.c: including <stdlib.h>
+
+	* mcidas.c (mcidasIdent): line 91: using %ld for long ints
+	(mcidasLoad): line 149: using %ld for long ints
+
+	* mac.c (macLoad): line 187: eliminated second format in error
+	message (for which there was no variable).
+
+	* g3.c (g3_ident): initialize col1, col2, and col3
+
+	* cmuwmrast.c (cmuwmLoad): using memToVal to extract header.depth
+	value, rather than depending on %d to fetch 16 bit value.
+
--- xli-1.17.0.orig/debian/README.debian
+++ xli-1.17.0/debian/README.debian
@@ -0,0 +1,153 @@
+xli for DEBIAN
+----------------------
+
+xli displays images under X11.  Debian includes other packages for
+image display: xv, xloadimage, and display from the imagemagick
+package.  The xli README file describes the relationship between xli
+and xloadimage as follows:
+
+    xli version 1.00 was based on xloadimage version 3.01.
+    xli version 1.16 has many improvements over xli 1.00. 
+    
+    xloadimage is maintained by Jim Frost - jimf@saber.com
+
+    xli is maintained by Graeme Gill - graeme@labtam.oz.au
+
+xli handles some image formats that neither xloadimage nor xv do.
+Also, xv is non-free (shareware).
+
+The xli package also supplies xlito, which appends a trailing option
+string to an image file.  xli will look for this string, and take
+default display options from it.
+
+xli takes some special actions if it called by the name xsetbg or
+xview, and the upstream package installs two symbolic links by these
+names.  However, the Debian package xloadimage creates links with the
+same names.  In order to prevent overlaps between the packages, this
+package omits the links.  Later releases of both packages will handle
+this with Debian's "alternatives" mechanism (with symbolic links
+through /etc/alternatives.)
+  
+The following table shows the image handling capabilities of xli,
+xloadimage, imagemagick, and xv, and the translations provided by the
+netpbm package.  R and W indicate read and right respectively.  A
+lower case letter indicates some restriction (e.g. xv handles
+PostScript only if ghostscript is installed) or problem (at least in
+my tests).  (Try it yourself - it may work okay for you.)
+
+--------------------  black and white formats  --------------------------
+xli		imagemagick	netpbm
+	xloadimage	xv
+R		RW		RW	G3 FAX images
+R	R      			RW	X10 bitmap files
+R	R	RW	RW	RW	X11 bitmap files
+R	R			RW	CMU WM Raster
+R	R			RW	GEM Bit Image (.img)
+R	R			RW	MacPaint Image
+R	R	RW	R	RW	Monochrome PC Paintbrush (.pcx) images
+R	RW	RW	RW		Portable Bit Map (PBM)
+R		RW	RW		Windows, OS/2 BMP Image
+R		RW			Sun monochrome rasterfiles
+				R	Xerox doodle brushes
+				RW	Andrew Toolkit raster object
+				RW	Atari Degas .pi3 format
+				RW	Bennet Yee's "face" format
+				RW	MGR format
+				RW	Sun icon file
+				W	ASCII graphics
+				W	BBN BitGraph graphics
+				W	Epson printer format
+				W	Gemini 10x printer format
+				W	GraphOn graphics
+				W	HP LaserJet format
+				W	Printronix format
+				W	Unix plot(5) file
+				W	Zinc Interface Library icon
+
+--------------------  grayscale formats  --------------------------
+xli		imagemagick	netpbm
+	xloadimage	xv
+R	RW	RW	RW	RW	Portable Bit Map (PGM)
+		RW	RW	RW	FITS
+				R	Biorad CSLM images
+				R	HIPS
+				R	PostScript "image" data
+				R	raw grayscale bytes (e.g. the Molecular Dynamics and Leica CSLM formats)
+				RW	Lisp Machine bit-array-file
+				RW	Usenix FaceSaver(tm) file
+
+--------------------  color formats  --------------------------
+xli		imagemagick	netpbm
+	xloadimage	xv
+R					Photograph on CD Image
+R		RW	RW		Sun color RGB rasterfiles
+R		RW	Rw	RW	Targa (.tga) files
+R	R	RW	RW	RW	GIF Image
+R	R	RW	RW	Rw	X pixmap (.xpm) files
+R	RW	RW	RW		JFIF style jpeg images
+r	RW	RW	RW	RW	Portable Bit Map (PPM)
+			RW		IRIS RGB
+			RW		PM
+				R	Atari compressed Spectrum
+				R	Atari uncompressed Spectrum
+				R	Img-whatnot file
+		RW		R	MTV/PRT ray-tracer output
+				R	QRT ray-tracer output
+				R	Xim file
+				RW	Abekas YUV format
+				RW	Atari Degas .pi1 format
+		RW		RW	Color PC Paintbrush (.pcx) images
+				RW	HP PaintJet format
+				RW	IFF ILBM
+		RW		RW	PICT
+				W	AutoCAD DXB format
+				W	AutoCAD slide format
+				W	DEC sixel format
+		RW		W	Motif UIL icon file
+				W	NCSA Interactive Color Raster
+				W	X11 "puzzle" file
+
+--------------------  multi-type formats  --------------------------
+xli		imagemagick	netpbm
+	xloadimage	xv
+R	R	RW		RW	X Window Dump
+	R	RW	RW	RW	Sun Rasterfile
+	RW	RW	RW	RW	TIFF image
+		RW	RW	W	PostScript
+				R	Zeiss CSLM images (the old format)
+R		RW	RW		Portable Network Graphics (png)
+
+--------------------  other formats  --------------------------
+xli		imagemagick	netpbm
+	xloadimage	xv
+R					Fuzzy Bitmap (.fbm) images
+R	R				FBM Image
+R	R				McIDAS areafile
+R	R	R	R		Utah Raster Toolkit (.rle) files
+R	R				Faces Project
+	R				Sun Visualization File Format
+	R	R			VICAR Image
+	RW				Native Image File Format (NIFF)
+
+
+As of summer 1998, xli is not actively maintained.  Here is what the
+last maintainer wrote:
+
+  Date: Mon, 8 Jun 1998 18:25:23 +1000
+  From: Graeme Gill <graeme@colorstar.com.au>
+  To: jrv@vanzandt.mv.com
+  Subject: Re: intent to package: xli
+  
+  > I have been looking at xli, and am thinking about preparing a Debian
+  > package.  Are you still maintaining xli?  Is xli.1.16.tar.gz the most
+  > recent version?
+  
+  I haven't done anything to it in about 4 years. 1.16 is the latest
+  release. I have a stack of email patches, but not the time
+  to deal with them ...
+  
+  Graeme Gill.
+
+If you are interested in working with xli, please let us know.
+
+James R. Van Zandt <jrv@vanzandt.mv.com>, Sun, 12 Jul 1998 21:54:22 -0400
--- xli-1.17.0.orig/debian/dirs
+++ xli-1.17.0/debian/dirs
@@ -0,0 +1,4 @@
+usr/X11R6/bin
+usr/X11R6/man/man1
+usr/share/doc/xli/examples
+usr/lib/mime/packages
--- xli-1.17.0.orig/debian/docs
+++ xli-1.17.0/debian/docs
@@ -0,0 +1,1 @@
+README
--- xli-1.17.0.orig/debian/mime
+++ xli-1.17.0/debian/mime
@@ -0,0 +1,13 @@
+image/png; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=PNG Image; nametemplate=%s.png; priority=3
+image/x-ms-bmp; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=BMP Image; nametemplate=%s.bmp; priority=3
+image/x-cmu-raster; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=CMU-RasterFile Image; nametemplate=%s.ras; priority=3
+image/g3fax; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=G3-FAX Image; nametemplate=%s.g3; priority=3
+image/gif; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=GIF Image; nametemplate=%s.gif; priority=3
+image/jpeg; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=JPEG Image; nametemplate=%s.jpg; priority=3
+image/targa; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=TARGA Image; nametemplate=%s.tga; priority=3
+image/x-portable-bitmap; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=PBM Image; nametemplate=%s.pbm; priority=3
+image/x-portable-graymap; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=PGM Image; nametemplate=%s.pgm; priority=3
+image/x-portable-pixmap; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=PPM Image; nametemplate=%s.ppm; priority=3
+image/x-rgb; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=RGB Image; nametemplate=%s.rgb; priority=3
+image/x-xbitmap; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=XBM Image; nametemplate=%s.xbm; priority=3
+image/x-xpixmap; /usr/X11R6/bin/xli '%s'; test=test -n "$DISPLAY"; description=XPM Image; nametemplate=%s.xpm; priority=3
--- xli-1.17.0.orig/debian/control
+++ xli-1.17.0/debian/control
@@ -0,0 +1,17 @@
+Source: xli
+Section: graphics
+Priority: optional
+Maintainer: Graham Wilson <graham@debian.org>
+Build-Depends: debhelper (>= 4.0), libjpeg62-dev, libpng2-dev, libx11-dev, libxext-dev, xutils, zlib1g-dev
+Standards-Version: 3.6.1
+
+Package: xli
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: view images under X11
+ Can view the following image types under X11: FBM Image, Sun
+ Rasterfile, CMU WM Raster, Portable Bit Map (PBM, PGM, PPM), Portable
+ Network Graphics (PNG), Faces Project, GIF Image, JFIF style jpeg
+ Image, Utah RLE Image, Windows, OS/2 RLE Image, Photograph on CD
+ Image, X Window Dump, Targa Image, McIDAS areafile, G3 FAX Image, PC
+ Paintbrush Image, GEM Bit Image, MacPaint Image, X Pixmap, X Bitmap.
--- xli-1.17.0.orig/debian/rules
+++ xli-1.17.0/debian/rules
@@ -0,0 +1,60 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# This file is public domain software, originally written by Joey Hess. 
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS=-Wall -g -O0
+else
+	CFLAGS=-Wall -g -O2
+endif
+
+pkgdir="$(CURDIR)/debian/xli"
+
+build: build-stamp
+build-stamp:
+	dh_testdir
+	xmkmf
+	make CDEBUGFLAGS="$(CFLAGS)"
+	touch build-stamp
+
+clean:
+	dh_testdir
+	dh_testroot
+	-$(MAKE) clean
+	dh_clean
+	rm -f build-stamp Makefile
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+	$(MAKE) install DESTDIR="$(pkgdir)"
+	install -p -m 644 xli.man $(pkgdir)/usr/X11R6/man/man1/xli.1
+	install -p -m 644 xlito.man $(pkgdir)/usr/X11R6/man/man1/xlito.1
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs
+	dh_installdocs
+	dh_installexamples
+	dh_install
+	dh_installmime
+	dh_link
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install
--- xli-1.17.0.orig/debian/watch
+++ xli-1.17.0/debian/watch
@@ -0,0 +1,2 @@
+version=2
+http://pantransit.reptiles.org/prog/xli-([\d.]*)\.tar\.gz
--- xli-1.17.0.orig/debian/changelog
+++ xli-1.17.0/debian/changelog
@@ -0,0 +1,238 @@
+xli (1.17.0-18) unstable; urgency=high
+
+  * Properly quote shell meta-characters when uncompressing files.
+    Addresses CAN-2005-0638.
+  * Enable on-the-fly decompression using gunzip.
+  * Add CVE numbers to the previous changelog entry.
+
+ -- Graham Wilson <graham@debian.org>  Sun, 20 Mar 2005 23:00:33 +0000
+
+xli (1.17.0-17) unstable; urgency=high
+
+  * Fix some old and new security bugs. (closes: #298039)
+
+  * In face.c, use strncat instead of strcat, which won't overflow the image
+    name buffer in case the first and last names are too long. Addresses
+    CAN-2001-0775.
+
+  * In new.c, check that new*Image functions don't overflow when determining
+    how much memory to allocate for images. Addresses CAN-2005-0639.
+
+  * Use upstream's code to avoid an overflow in buildIndex, rather than the
+    code I wrote to fix #274310.
+
+ -- Graham Wilson <graham@debian.org>  Tue, 08 Mar 2005 06:04:31 +0000
+
+xli (1.17.0-16) unstable; urgency=low
+
+  * Always create indexes for zooming from 0 to new_width - 1. Thanks to
+    Sebastian Rasmussen for pointing this out. (closes: #274310)
+
+ -- Graham Wilson <graham@debian.org>  Sun, 31 Oct 2004 00:39:01 +0000
+
+xli (1.17.0-15) unstable; urgency=low
+
+  * New maintainer. Thanks James.
+  * Update the URL in the copyright file.
+  * Update the watch file.
+  * Rewrite the rules file to use debhelper.
+  * Don't create installation directories that we don't need.
+  * Update the standards version. No changes needed.
+  * Update build dependencies:
+    - xlibs-dev -> libx11-dev, libxext-dev
+    - remove duplicate xutils build dependency
+
+ -- Graham Wilson <graham@debian.org>  Thu, 16 Sep 2004 20:44:42 +0000
+
+xli (1.17.0-14) unstable; urgency=low
+
+  * debian/control: update to policy 3.5.9
+  * rlelib.c: Don't #include varargs.h (which was not being used anyway)
+    (Closes:bug#196321)
+
+ -- James R. Van Zandt <jrv@debian.org>  Fri, 13 Jun 2003 13:21:39 -0400
+
+xli (1.17.0-13) unstable; urgency=low
+
+  * debian/control: depend on xlibs-dev instead of old xlib6g-dev (Closes:
+    170159) 
+
+ -- James R. Van Zandt <jrv@debian.org>  Tue, 26 Nov 2002 21:24:57 -0500
+
+xli (1.17.0-12) unstable; urgency=low
+
+  * xli.1: really eliminate mention of xsetbg and xview since they are not
+    packaged (closes:Bug#164732)
+
+ -- James R. Van Zandt <jrv@debian.org>  Mon, 28 Oct 2002 21:20:03 -0500
+
+xli (1.17.0-11) unstable; urgency=low
+
+  * xli.1: eliminate mention of xsetbg and xview since they are not
+    packaged (closes:Bug#99597)
+
+ -- James R. Van Zandt <jrv@debian.org>  Sat, 30 Mar 2002 17:41:57 -0500
+
+xli (1.17.0-10) unstable; urgency=low
+
+  * pcx.c: display RGB images (thanks to Alexandre Duret-Lutz
+    <duret_g@lrde.epita.fr>) (closes:Bug#124084) 
+
+ -- James R. Van Zandt <jrv@debian.org>  Sat, 22 Dec 2001 09:51:44 -0500
+
+xli (1.17.0-9) unstable; urgency=low
+
+  * Remove xview and xsetbg from the name line in the xli man page, and
+    add a note that the programs are not included. (closes:bug#99597)
+
+ -- James R. Van Zandt <jrv@debian.org>  Sun,  5 Aug 2001 18:43:37 -0400
+
+xli (1.17.0-8) unstable; urgency=low
+
+  * Imakefile: delete compiler switches conditioned on HPArchitecture,
+    which are (1) being triggered inappropriately for hppa, and (2)
+    apparently invalid syntax for gcc. (Closes:Bug#104720)
+  * new maintainer email
+
+ -- James R. Van Zandt <jrv@debian.org>  Wed, 18 Jul 2001 20:40:31 -0400
+
+xli (1.17.0-7) unstable; urgency=low
+
+  * compress.c: fix spelling of "improvement".
+  * debian/control: new maintainer email
+
+ -- James R. Van Zandt <jrv@debian.org>  Mon,  9 Jul 2001 21:39:40 -0400
+
+xli (1.17.0-6) unstable; urgency=low
+
+  * debian/control: build-depend also on xutils (Closes:bug#93692)
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Mon, 28 May 2001 21:33:39 -0400
+
+xli (1.17.0-5) unstable; urgency=low
+
+  * debian/control: more build-dependencies (Closes:bug#93692)
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sun, 13 May 2001 18:02:39 -0400
+
+xli (1.17.0-4) unstable; urgency=low
+
+  * debian/control: move Build-Depends line to source section. Policy
+    version 3.5.2.
+  * debian/rules: Honor DEB_BUILD_OPTIONS.  
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sat, 31 Mar 2001 09:50:49 -0500
+
+xli (1.17.0-3) unstable; urgency=low
+
+  * Don't define bcopy and bzero with macros when system headers declare
+    them as functions (Thanks to Paul Slootman <paul@debian.org>,
+    Closes:Bug#81859) 
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sun, 14 Jan 2001 15:30:18 -0500
+
+xli (1.17.0-2) unstable; urgency=low
+
+  * Correct MIME types: image/bmp -> image/x-ms-bmp and image/cmu-raster
+    -> image/x-cmu-raster (Closes:#72837)
+  * Imakefile: omit creation of xview and xsetbg links, since those
+    files would overlap files from xloadimage
+  * Recompile with libpng2 1.0.8 (Closes:#75271,#72715)
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Mon, 30 Oct 2000 22:54:11 -0500
+
+xli (1.17.0-1) unstable; urgency=low
+
+  * New upstream version: handles progressive JPEGs.
+  * Build-Depends on debmake.
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sun, 13 Feb 2000 07:46:36 -0500
+
+xli (1.16-12) frozen unstable; urgency=low
+
+  * recompile with new libpng, so it won't segfault on a png file
+    (closes:#53284) 
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sat, 15 Jan 2000 18:35:01 -0500
+
+xli (1.16-11) unstable; urgency=low
+
+  * manage compatibility symlink /usr/doc/xli
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sun, 24 Oct 1999 11:44:16 -0400
+
+xli (1.16-10) unstable; urgency=low
+
+  * Link against glibc2.1
+  * Update to FHS
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Thu,  2 Sep 1999 21:17:16 -0400
+
+xli (1.16-9) unstable; urgency=low
+
+  * Add PNG support to package description.  Remove cruft from source package.
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sun, 20 Jun 1999 13:06:52 -0400
+
+Xli (1.16-8) unstable; urgency=low
+
+  * Add support for Portable Network Graphics courtesy of patches by
+    Smarasderagd (http://www.reptiles.org/~smar/)
+  * Omit declaration of index() in misc.c (Bug#39159)
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Mon, 31 May 1999 17:01:34 -0400
+
+xli (1.16-7) unstable; urgency=low
+
+  * Don't depend on execution order of increments within an expression in
+    send.c - fix courtesy of ka@socrates.hr.lucent.com (Kenneth Almquist).
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Tue,  4 May 1999 20:49:49 -0400
+
+xli (1.16-6) unstable; urgency=low
+
+  * Install MIME entry in correct directory.
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Wed, 31 Mar 1999 17:49:26 -0500
+
+xli (1.16-5) unstable; urgency=low
+
+  * Register as a MIME viewer in /etc/mailcap.
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sat,  6 Feb 1999 10:18:54 -0500
+
+xli (1.16-4) frozen unstable; urgency=low
+
+  * Recompilation to remove dependency on libc6 2.0.7u
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Wed,  9 Dec 1998 22:08:35 -0500
+
+xli (1.16-3) frozen unstable; urgency=low
+
+  * Use /usr/X11R6/lib instead of /usr/lib/X11 to avoid file overlap
+    (Bug#25873)
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sat, 28 Nov 1998 21:12:05 -0500
+
+xli (1.16-2) unstable; urgency=low
+
+  * Incorporated Paul Slootman's patches for the alpha.
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Mon, 31 Aug 1998 22:03:11 -0400
+
+xli (1.16-1.1) unstable; urgency=low
+
+  * non-maintainer upload (binary-only) for Alpha
+  * fixed ddxli.h so that it knows to include string.h on linux
+  * couple of casts to unsigned long added to shut egcs up about pointer/int
+    conversion between different sizes. Now compiles without any warnings!
+
+ -- Paul Slootman <paul@debian.org>  Mon, 31 Aug 1998 23:04:52 +0200
+
+xli (1.16-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- James R. Van Zandt <jrv@vanzandt.mv.com>  Sun, 12 Jul 1998 21:54:22 -0400
+
+
--- xli-1.17.0.orig/debian/compat
+++ xli-1.17.0/debian/compat
@@ -0,0 +1,1 @@
+4
--- xli-1.17.0.orig/debian/copyright
+++ xli-1.17.0/debian/copyright
@@ -0,0 +1,29 @@
+This package was debianized by James R. Van Zandt <jrv@vanzandt.mv.com> on
+Sun, 12 Jul 1998 21:54:22 -0400. The package is now maintained by Graham
+Wilson <graham@debian.org>.
+
+Current maintainer: smar@reptiles.org
+
+It was downloaded from: http://pantransit.reptiles.org/prog/
+
+Copyright:
+
+/*
+ * Copyright 1989, 1990, 1991 Jim Frost
+ *
+ * Permission to use, copy, modify, distribute, and sell this software
+ * and its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation.  The author makes no representations
+ * about the suitability of this software for any purpose.  It is
+ * provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN
+ * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
+ * USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
--- xli-1.17.0.orig/debian/examples
+++ xli-1.17.0/debian/examples
@@ -0,0 +1,1 @@
+chkgamma.jpg
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin