home *** CD-ROM | disk | FTP | other *** search
- From: mcastle@mcs213d.cs.umr.edu (Mike Castle {Nexus})
- Newsgroups: alt.sources
- Subject: PBMPlus on MSDOS patches (03/03)
- Message-ID: <2694@umriscc.isc.umr.edu>
- Date: 29 Apr 91 03:48:44 GMT
-
-
- *** pbmplus.old/pnm/pnmtoxwd.c Fri Apr 12 00:31:06 1991
- --- pbmplus.new/pnm/pnmtoxwd.c Sat Apr 20 17:33:28 1991
- ***************
- *** 18,23 ****
- --- 18,28 ----
- #define MAXCOLORS 256
- #endif /*PPM*/
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main( argc, argv )
- int argc;
- char* argv[];
- ***************
- *** 67,72 ****
- --- 72,89 ----
- if ( argn != argc )
- pm_usage( usage );
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".xwd" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- xels = pnm_readpnm( ifp, &cols, &rows, &maxval, &format );
- lmaxval = (long) maxval;
- pm_close( ifp );
- ***************
- *** 185,190 ****
- --- 202,237 ----
- h11.bits_per_rgb = h11.pixmap_depth;
-
- /* Write out the header in big-endian order. */
- + #ifdef GNUDOS
- + pm_writebiglong( ofp, h11.header_size );
- + pm_writebiglong( ofp, h11.file_version );
- + pm_writebiglong( ofp, h11.pixmap_format );
- + pm_writebiglong( ofp, h11.pixmap_depth );
- + pm_writebiglong( ofp, h11.pixmap_width );
- + pm_writebiglong( ofp, h11.pixmap_height );
- + pm_writebiglong( ofp, h11.xoffset );
- + pm_writebiglong( ofp, h11.byte_order );
- + pm_writebiglong( ofp, h11.bitmap_unit );
- + pm_writebiglong( ofp, h11.bitmap_bit_order );
- + pm_writebiglong( ofp, h11.bitmap_pad );
- + pm_writebiglong( ofp, h11.bits_per_pixel );
- + pm_writebiglong( ofp, h11.bytes_per_line );
- + pm_writebiglong( ofp, h11.visual_class );
- + pm_writebiglong( ofp, h11.red_mask );
- + pm_writebiglong( ofp, h11.green_mask );
- + pm_writebiglong( ofp, h11.blue_mask );
- + pm_writebiglong( ofp, h11.bits_per_rgb );
- + pm_writebiglong( ofp, h11.colormap_entries );
- + pm_writebiglong( ofp, h11.ncolors );
- + pm_writebiglong( ofp, h11.window_width );
- + pm_writebiglong( ofp, h11.window_height );
- + pm_writebiglong( ofp, h11.window_x );
- + pm_writebiglong( ofp, h11.window_y );
- + pm_writebiglong( ofp, h11.window_bdrwidth );
- +
- + /* Write out the dump name. */
- + fwrite( dumpname, 1, strlen( dumpname ) + 1, ofp );
- + #else /* GNUDOS */
- pm_writebiglong( stdout, h11.header_size );
- pm_writebiglong( stdout, h11.file_version );
- pm_writebiglong( stdout, h11.pixmap_format );
- ***************
- *** 213,218 ****
- --- 260,266 ----
-
- /* Write out the dump name. */
- fwrite( dumpname, 1, strlen( dumpname ) + 1, stdout );
- + #endif /* GNUDOS */
-
- if ( ! direct )
- {
- ***************
- *** 252,263 ****
- pm_error( "shouldn't happen", 0,0,0,0,0 );
- #endif /*PPM*/
- }
- pm_writebiglong( stdout, color.pixel );
- pm_writebigshort( stdout, color.red );
- pm_writebigshort( stdout, color.green );
- pm_writebigshort( stdout, color.blue );
- ! putc( color.flags, stdout );
- ! putc( color.pad, stdout );
- }
- }
-
- --- 300,320 ----
- pm_error( "shouldn't happen", 0,0,0,0,0 );
- #endif /*PPM*/
- }
- + #ifdef GNUDOS
- + pm_writebiglong( ofp, color.pixel );
- + pm_writebigshort( ofp, color.red );
- + pm_writebigshort( ofp, color.green );
- + pm_writebigshort( ofp, color.blue );
- + fputc( color.flags, ofp );
- + fputc( color.pad, ofp );
- + #else /* GNUDOS */
- pm_writebiglong( stdout, color.pixel );
- pm_writebigshort( stdout, color.red );
- pm_writebigshort( stdout, color.green );
- pm_writebigshort( stdout, color.blue );
- ! putc( color.flags, stdout );
- ! putc( color.pad, stdout );
- ! #endif /* GNUDOS */
- }
- }
-
- ***************
- *** 276,282 ****
- --- 333,343 ----
- ul = ( ( PPM_GETR( *xP ) * ( 255 / lmaxval ) ) << 16 ) |
- ( ( PPM_GETG( *xP ) * ( 255 / lmaxval ) ) << 8 ) |
- ( PPM_GETB( *xP ) * ( 255 / lmaxval ) );
- + #ifdef GNUDOS
- + fwrite( &ul, sizeof(ul), 1, ofp );
- + #else /* GNUDOS */
- fwrite( &ul, sizeof(ul), 1, stdout );
- + #endif /* GNUDOS */
- }
- break;
- #endif /*PPM*/
- ***************
- *** 290,296 ****
- --- 351,361 ----
- ul = ( ( val * ( 255 / lmaxval ) ) << 16 ) |
- ( ( val * ( 255 / lmaxval ) ) << 8 ) |
- ( val * ( 255 / lmaxval ) );
- + #ifdef GNUDOS
- + fwrite( &ul, sizeof(ul), 1, ofp );
- + #else /* GNUDOS */
- fwrite( &ul, sizeof(ul), 1, stdout );
- + #endif /* GNUDOS */
- }
- break;
- }
- ***************
- *** 319,341 ****
- --- 384,422 ----
- bitshift -= h11.bits_per_pixel;
- if ( bitshift < 0 )
- {
- + #ifdef GNUDOS
- + fputc( byte, ofp );
- + #else /* GNUDOS */
- putchar( byte );
- + #endif /* GNUDOS */
- bitshift = 8 - h11.bits_per_pixel;
- byte = 0;
- }
- }
- if ( bitshift < 8 - h11.bits_per_pixel )
- + #ifdef GNUDOS
- + fputc( byte, ofp );
- + #else /* GNUDOS */
- putchar( byte );
- + #endif /* GNUDOS */
- }
- else
- {
- #ifdef PPM
- for ( col = 0, xP = xels[row]; col < cols; ++col, ++xP )
- + #ifdef GNUDOS
- + fputc( ppm_lookupcolor( cht, xP ), ofp );
- + #else /* GNUDOS */
- putchar( ppm_lookupcolor( cht, xP ) );
- + #endif /* GNUDOS */
- #else /*PPM*/
- pm_error( "shouldn't happen", 0,0,0,0,0 );
- #endif /*PPM*/
- }
- +
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
-
- exit( 0 );
- }
- diff -c -B -H +new-file +recursive pbmplus.old/pnm/rasttopn.c pbmplus.new/pnm/rasttopn.c
- *** pbmplus.old/pnm/rasttopn.c Fri Apr 12 00:31:04 1991
- --- pbmplus.new/pnm/rasttopn.c Sat Apr 20 17:04:04 1991
- ***************
- *** 38,44 ****
- --- 38,48 ----
-
- if ( argn != argc )
- {
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[argn] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[argn] );
- + #endif /* GNUDOS */
- ++argn;
- }
- else
- diff -c -B -H +new-file +recursive pbmplus.old/pnm/xwdtopnm.c pbmplus.new/pnm/xwdtopnm.c
- *** pbmplus.old/pnm/xwdtopnm.c Fri Apr 12 00:31:04 1991
- --- pbmplus.new/pnm/xwdtopnm.c Sat Apr 20 17:04:30 1991
- ***************
- *** 37,43 ****
- pm_usage( "[xwdfile]" );
-
- if ( argc == 2 )
- ! ifp = pm_openr( argv[1] );
- else
- ifp = stdin;
-
- --- 37,47 ----
- pm_usage( "[xwdfile]" );
-
- if ( argc == 2 )
- ! #ifdef GNUDOS
- ! ifp = pm_openrb( argv[1] );
- ! #else /* GNUDOS */
- ! ifp = pm_openr argv[1] );
- ! #endif /* GNUDOS */
- else
- ifp = stdin;
-
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/body.c pbmplus.new/ppm/body.c
- *** pbmplus.old/ppm/body.c
- --- pbmplus.new/ppm/body.c Sat Apr 20 10:08:52 1991
- ***************
- *** 0 ****
- --- 1,11 ----
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/delppm.bat pbmplus.new/ppm/delppm.bat
- *** pbmplus.old/ppm/delppm.bat
- --- pbmplus.new/ppm/delppm.bat Fri Apr 12 22:49:26 1991
- ***************
- *** 0 ****
- --- 1,34 ----
- + del GIFTOPPM
- + del GOULDTOP
- + del ILBMTOPP
- + del IMGTOPPM
- + del MTVTOPPM
- + del PCXTOPPM
- + del PGMTOPPM
- + del PI1TOPPM
- + del PICTTOPP
- + del PPMHIST
- + del PPMMAKE
- + del PPMPAT
- + del PPMQUANT
- + del PPMRELIE
- + del PPMTOGIF
- + del PPMTOICR
- + del PPMTOILB
- + del PPMTOPCX
- + del PPMTOPGM
- + del PPMTOPI1
- + del PPMTOPIC
- + del PPMTOPS
- + del PPMTOPUZ
- + del PPMTORGB
- + del PPMTOUIL
- + del PPMTOXPM
- + del QRTTOPPM
- + del RAWTOPPM
- + del RGB3TOPP
- + del SPCTOPPM
- + del SPUTOPPM
- + del TGATOPPM
- + del XIMTOPPM
- + del XPMTOPPM
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/exeppm.bat pbmplus.new/ppm/exeppm.bat
- *** pbmplus.old/ppm/exeppm.bat
- --- pbmplus.new/ppm/exeppm.bat Fri Apr 12 22:48:58 1991
- ***************
- *** 0 ****
- --- 1,34 ----
- + copy /b c:\gcc\bin\stub.exe+GIFTOPPM GIFTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+GOULDTOP GOULDTOP.exe
- + copy /b c:\gcc\bin\stub.exe+ILBMTOPP ILBMTOPP.exe
- + copy /b c:\gcc\bin\stub.exe+IMGTOPPM IMGTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+MTVTOPPM MTVTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+PCXTOPPM PCXTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+PGMTOPPM PGMTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+PI1TOPPM PI1TOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+PICTTOPP PICTTOPP.exe
- + copy /b c:\gcc\bin\stub.exe+PPMHIST PPMHIST.exe
- + copy /b c:\gcc\bin\stub.exe+PPMMAKE PPMMAKE.exe
- + copy /b c:\gcc\bin\stub.exe+PPMPAT PPMPAT.exe
- + copy /b c:\gcc\bin\stub.exe+PPMQUANT PPMQUANT.exe
- + copy /b c:\gcc\bin\stub.exe+PPMRELIE PPMRELIE.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOGIF PPMTOGIF.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOICR PPMTOICR.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOILB PPMTOILB.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOPCX PPMTOPCX.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOPGM PPMTOPGM.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOPI1 PPMTOPI1.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOPIC PPMTOPIC.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOPS PPMTOPS.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOPUZ PPMTOPUZ.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTORGB PPMTORGB.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOUIL PPMTOUIL.exe
- + copy /b c:\gcc\bin\stub.exe+PPMTOXPM PPMTOXPM.exe
- + copy /b c:\gcc\bin\stub.exe+QRTTOPPM QRTTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+RAWTOPPM RAWTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+RGB3TOPP RGB3TOPP.exe
- + copy /b c:\gcc\bin\stub.exe+SPCTOPPM SPCTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+SPUTOPPM SPUTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+TGATOPPM TGATOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+XIMTOPPM XIMTOPPM.exe
- + copy /b c:\gcc\bin\stub.exe+XPMTOPPM XPMTOPPM.exe
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/giftoppm.c pbmplus.new/ppm/giftoppm.c
- *** pbmplus.old/ppm/giftoppm.c Fri Apr 12 00:31:16 1991
- --- pbmplus.new/ppm/giftoppm.c Sat Apr 20 12:47:24 1991
- ***************
- *** 90,96 ****
- --- 90,100 ----
- ++argn;
- }
- if (argn != argc) {
- + #ifdef GNUDOS
- + in = pm_openrb(argv[argn]);
- + #else /* GNUDOS */
- in = pm_openr(argv[argn]);
- + #endif /* GNUDOS */
- ++argn;
- } else {
- in = stdin;
- ***************
- *** 109,115 ****
- FILE *fd;
- int imageNumber;
- {
- ! unsigned char buf[16];
- unsigned char c;
- unsigned char localColorMap[3][MAXCOLORMAPSIZE];
- int useGlobalColormap;
- --- 113,120 ----
- FILE *fd;
- int imageNumber;
- {
- ! /* unsigned char buf[16];*/
- ! char buf[16];
- unsigned char c;
- unsigned char localColorMap[3][MAXCOLORMAPSIZE];
- int useGlobalColormap;
- ***************
- *** 515,521 ****
- if ((image = ppm_allocarray(len, height)) == NULL)
- pm_error("couldn't alloc space for image", 0,0,0,0,0);
-
- ! if (verbose)
- pm_message("reading %d by %d%s GIF image",
- len, height, interlace ? " interlaced" : "", 0,0);
-
- --- 520,526 ----
- if ((image = ppm_allocarray(len, height)) == NULL)
- pm_error("couldn't alloc space for image", 0,0,0,0,0);
-
- ! if (verbose)
- pm_message("reading %d by %d%s GIF image",
- len, height, interlace ? " interlaced" : "", 0,0);
-
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/gouldtop.c pbmplus.new/ppm/gouldtop.c
- *** pbmplus.old/ppm/gouldtop.c Fri Apr 12 00:32:48 1991
- --- pbmplus.new/ppm/gouldtop.c Sat Apr 20 00:25:20 1991
- ***************
- *** 35,41 ****
- --- 35,45 ----
- pm_usage( "[gouldfile]" );
-
- if ( argc == 2 )
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[1] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[1] );
- + #endif /* GNUDOS */
- else
- ifp = stdin;
-
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/header.c pbmplus.new/ppm/header.c
- *** pbmplus.old/ppm/header.c
- --- pbmplus.new/ppm/header.c Fri Apr 19 15:37:02 1991
- ***************
- *** 0 ****
- --- 1,4 ----
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ilbmtopp.c pbmplus.new/ppm/ilbmtopp.c
- *** pbmplus.old/ppm/ilbmtopp.c Fri Apr 12 00:31:16 1991
- --- pbmplus.new/ppm/ilbmtopp.c Sat Apr 20 00:24:58 1991
- ***************
- *** 34,40 ****
- --- 34,44 ----
-
- if ( argn < argc )
- {
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[argn] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[argn] );
- + #endif /* GNUDOS */
- argn++;
- }
- else
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/imgtoppm.c pbmplus.new/ppm/imgtoppm.c
- *** pbmplus.old/ppm/imgtoppm.c Fri Apr 12 00:31:22 1991
- --- pbmplus.new/ppm/imgtoppm.c Sat Apr 20 11:06:50 1991
- ***************
- *** 25,32 ****
- register int col;
- pixval maxval;
- int len, cmaplen, gotAT, gotCM;
- ! unsigned char buf[4096];
- ! register unsigned char *bP;
-
- ppm_init( &argc, argv );
-
- --- 25,34 ----
- register int col;
- pixval maxval;
- int len, cmaplen, gotAT, gotCM;
- ! /* unsigned char buf[4096]; */
- ! char buf[4096];
- ! /* register unsigned char *bP; */
- ! register char *bP;
-
- ppm_init( &argc, argv );
-
- ***************
- *** 34,40 ****
- --- 36,46 ----
-
- if ( argn < argc )
- {
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[argn] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[argn] );
- + #endif /* GNUDOS */
- argn++;
- }
- else
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/makefile.pc pbmplus.new/ppm/makefile.pc
- *** pbmplus.old/ppm/makefile.pc
- --- pbmplus.new/ppm/makefile.pc Sat Apr 20 00:17:12 1991
- ***************
- *** 0 ****
- --- 1,180 ----
- + # Makefile for ppm tools.
- + #
- + # Copyright (C) 1989, 1991 by Jef Poskanzer.
- + #
- + # Permission to use, copy, modify, and distribute this software and its
- + # documentation for any purpose and without fee is hereby granted, provided
- + # that the above copyright notice appear in all copies and that both that
- + # copyright notice and this permission notice appear in supporting
- + # documentation. This software is provided "as is" without express or
- + # implied warranty.
- +
- + # Default values, usually overridden by top-level Makefile.
- + #CC = cc
- + CC = gcc -fcombine-regs
- + #CFLAGS = -O
- + CFLAGS = -g
- + #CFLAGS = -g -O
- + #RGBDEF = -DRGB_DB=\"/usr/lib/X11/rgb.txt\"
- + #LDFLAGS = -s
- + LDFLAGS =
- + INSTALLBINARIES = /usr/new/pbm
- + INSTALLSCRIPTS = $(INSTALLBINARIES)
- + INSTALLMANUALS1 = /usr/man/mann
- + SUFFIXMANUALS1 = 1
- + INSTALLMANUALS3 = /usr/man/mann
- + SUFFIXMANUALS3 = 3
- + INSTALLMANUALS5 = /usr/man/mann
- + SUFFIXMANUALS5 = 5
- + MANCP = cp
- +
- + PGMDIR = ../pgm
- + INCLUDEPGM = -I$(PGMDIR)
- + LIBPGM = $(PGMDIR)/libpgm.a
- + DEFPGM = $(PGMDIR)/pgm.h
- + DEFLIBPGM = $(PGMDIR)/libpgm.h
- +
- + PBMDIR = ../pbm
- + INCLUDEPBM = -I$(PBMDIR)
- + LIBPBM = $(PBMDIR)/libpbm.a
- + DEFPBM = $(PBMDIR)/pbm.h ../pbmplus.h
- + DEFLIBPBM = $(PBMDIR)/libpbm.h
- +
- + SHELL = /bin/sh
- + INCLUDE = $(INCLUDEPGM) $(INCLUDEPBM)
- + ALLCFLAGS = $(CFLAGS) $(RGBDEF) $(INCLUDE)
- + LIBPPM = libppm.a
- +
- + PORTBINARIES = giftoppm gouldtoppm ilbmtoppm imgtoppm mtvtoppm \
- + pcxtoppm pgmtoppm pi1toppm picttoppm \
- + ppmhist ppmmake ppmquant \
- + ppmrelief ppmtogif ppmtoicr ppmtoilbm \
- + ppmtopcx ppmtopgm ppmtopi1 ppmtopict ppmtops \
- + ppmtopuzz ppmtorgb3 ppmtouil ppmtoxpm \
- + qrttoppm rawtoppm rgb3toppm spctoppm \
- + sputoppm tgatoppm ximtoppm xpmtoppm
- + MATHBINARIES = ppmpat
- + BINARIES = $(PORTBINARIES) $(MATHBINARIES)
- + SCRIPTS = ppmquantall
- +
- + OBJECTS = giftoppm.o gouldtoppm.o ilbmtoppm.o imgtoppm.o mtvtoppm.o \
- + pcxtoppm.o pgmtoppm.o pi1toppm.o picttoppm.o \
- + ppmhist.o ppmmake.o ppmquant.o \
- + ppmrelief.o ppmtogif.o ppmtoicr.o ppmtoilbm.o \
- + ppmtopcx.o ppmtopgm.o ppmtopi1.o ppmtopict.o ppmtops.o \
- + ppmtopuzz.o ppmtorgb3.o ppmtouil.o ppmtoxpm.o \
- + qrttoppm.o rawtoppm.o rgb3toppm.o spctoppm.o \
- + sputoppm.o tgatoppm.o ximtoppm.o xpmtoppm.o \
- + ppmpat.o
- +
- + MANUALS1 = $(BINARIES) $(SCRIPTS)
- + MANUALS3 = libppm
- + MANUALS5 = ppm
- +
- +
- + all: binaries
- +
- +
- + binaries: $(BINARIES)
- +
- + installbinaries: binaries
- + cd $(INSTALLBINARIES)
- + cp $(BINARIES) $(INSTALLBINARIES)
- + cd $(INSTALLSCRIPTS)
- + cp $(SCRIPTS) $(INSTALLSCRIPTS)
- + cd $(INSTALLSCRIPTS)
- +
- +
- + merge: ppmmerge
- + ppmmerge: ppmmerge.c $(OBJECTS) $(LIBPPM) $(LIBPGM) $(LIBPBM)
- + $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPPM) $(LIBPGM) $(LIBPBM)
- +
- + installmerge: installppmmerge
- + installppmmerge: ppmmerge
- + cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
- + cp ppmmerge $(INSTALLBINARIES)
- + cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln ppmmerge $$i ; done
- + rm $(INSTALLBINARIES)/ppmmerge
- + cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
- + cp $(SCRIPTS) $(INSTALLSCRIPTS)
- + cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
- +
- +
- + installmanuals:
- + for i in $(MANUALS1) ; do $(MANCP) $$i.1 $(INSTALLMANUALS1)/$$i.$(SUFFIXMANUALS1) ; done
- + for i in $(MANUALS3) ; do $(MANCP) $$i.3 $(INSTALLMANUALS3)/$$i.$(SUFFIXMANUALS3) ; done
- + for i in $(MANUALS5) ; do $(MANCP) $$i.5 $(INSTALLMANUALS5)/$$i.$(SUFFIXMANUALS5) ; done
- +
- +
- + # Rule for plain programs.
- + $(PORTBINARIES): ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
- + $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPPM) $(LIBPGM) $(LIBPBM)
- +
- + # Rule for math-dependent programs.
- + $(MATHBINARIES): ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
- + $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c -lm $(LIBPPM) $(LIBPGM) $(LIBPBM)
- +
- + # Rule for objects.
- + $(OBJECTS): ppm.h $(DEFPGM) $(DEFPBM)
- + $(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c
- +
- + # And libraries.
- + $(LIBPBM):
- + cd $(PBMDIR) ; make lib
- + $(LIBPGM):
- + cd $(PGMDIR) ; make lib
- + lib: $(LIBPPM)
- + $(LIBPPM): libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o
- +
- + ar rc $(LIBPPM) libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o
- +
- +
- + libppm1.o: ppm.h $(DEFPGM) $(DEFPBM) libppm.h libppm1.c
- + $(CC) $(ALLCFLAGS) -c libppm1.c
- + libppm2.o: ppm.h $(DEFPGM) $(DEFPBM) libppm.h libppm2.c $(DEFLIBPGM) \
- + $(DEFLIBPBM)
- + $(CC) $(ALLCFLAGS) -c libppm2.c
- + libppm3.o: ppm.h $(DEFPGM) $(DEFPBM) libppm.h libppm3.c
- + $(CC) $(ALLCFLAGS) -c libppm3.c
- + libppm4.o: ppm.h $(DEFPGM) $(DEFPBM) ppmcmap.h libppm4.c
- + $(CC) $(ALLCFLAGS) -c libppm4.c
- + libppm5.o: ppm.h $(DEFPGM) $(DEFPBM) ppmdraw.h libppm5.c
- + $(CC) $(ALLCFLAGS) -c libppm5.c
- +
- + # Other dependencies.
- + giftoppm giftoppm.o: giftoppm.c
- + gouldtoppm gouldtoppm.o: gouldtoppm.c
- + ilbmtoppm ilbmtoppm.o: ilbmtoppm.c ilbm.h
- + imgtoppm imgtoppm.o: imgtoppm.c
- + mtvtoppm mtvtoppm.o: mtvtoppm.c
- + pcxtoppm pcxtoppm.o: pcxtoppm.c
- + pgmtoppm pgmtoppm.o: pgmtoppm.c
- + pi1toppm pi1toppm.o: pi1toppm.c
- + picttoppm picttoppm.o: picttoppm.c
- + ppmhist ppmhist.o: ppmhist.c ppmcmap.h
- + ppmmake ppmmake.o: ppmmake.c
- + ppmpat ppmpat.o: ppmpat.c ppmdraw.h
- + ppmquant ppmquant.o: ppmquant.c $(PGMDIR)/dithers.h ppmcmap.h
- + ppmrelief ppmrelief.o: ppmrelief.c
- + ppmtogif ppmtogif.o: ppmtogif.c ppmcmap.h
- + ppmtoicr ppmtoicr.o: ppmtoicr.c
- + ppmtoilbm ppmtoilbm.o: ppmtoilbm.c ilbm.h ppmcmap.h
- + ppmtopcx ppmtopcx.o: ppmtopcx.c
- + ppmtopgm ppmtopgm.o: ppmtopgm.c
- + ppmtopi1 ppmtopi1.o: ppmtopi1.c
- + ppmtopict ppmtopict.o: ppmtopict.c ppmcmap.h
- + ppmtopuzz ppmtopuzz.o: ppmtopuzz.c
- + ppmtops ppmtops.o: ppmtops.c
- + ppmtorgb3 ppmtorgb3.o: ppmtorgb3.c
- + ppmtouil ppmtouil.o: ppmtouil.c
- + ppmtoxpm ppmtoxpm.o: ppmtoxpm.c
- + qrttoppm qrttoppm.o: qrttoppm.c
- + rawtoppm rawtoppm.o: rawtoppm.c
- + rgb3toppm rgb3toppm.o: rgb3toppm.c
- + spctoppm spctoppm.o: spctoppm.c
- + sputoppm sputoppm.o: sputoppm.c
- + tgatoppm tgatoppm.o: tgatoppm.c tga.h
- + ximtoppm ximtoppm.o: ximtoppm.c xim.h
- + xpmtoppm xpmtoppm.o: xpmtoppm.c
- +
- +
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/mtvtoppm.c pbmplus.new/ppm/mtvtoppm.c
- *** pbmplus.old/ppm/mtvtoppm.c Fri Apr 12 00:31:14 1991
- --- pbmplus.new/ppm/mtvtoppm.c Sat Apr 20 00:24:04 1991
- ***************
- *** 30,36 ****
- --- 30,40 ----
- pm_usage( "[mtvfile]" );
-
- if ( argc == 2 )
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[1] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[1] );
- + #endif /* GNUDOS */
- else
- ifp = stdin;
-
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/pcxtoppm.c pbmplus.new/ppm/pcxtoppm.c
- *** pbmplus.old/ppm/pcxtoppm.c Fri Apr 12 00:32:46 1991
- --- pbmplus.new/ppm/pcxtoppm.c Sat Apr 20 00:23:42 1991
- ***************
- *** 58,64 ****
- --- 58,68 ----
- break;
- case 2:
- ifname = argv[1];
- + #ifdef GNUDOS
- + ifp = pm_openrb(ifname);
- + #else /* GNUDOS */
- ifp = pm_openr(ifname);
- + #endif/* GNUDOS */
- break;
- default:
- pm_usage("[pcxfile]");
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/pi1toppm.c pbmplus.new/ppm/pi1toppm.c
- *** pbmplus.old/ppm/pi1toppm.c Fri Apr 12 00:32:46 1991
- --- pbmplus.new/ppm/pi1toppm.c Sat Apr 20 00:23:10 1991
- ***************
- *** 35,41 ****
- --- 35,45 ----
- pm_usage( "[pi1file]" );
-
- if ( argc == 2 )
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[1] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[1] );
- + #endif /* GNUDOS */
- else
- ifp = stdin;
-
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/picttopp.c pbmplus.new/ppm/picttopp.c
- *** pbmplus.old/ppm/picttopp.c Fri Apr 12 00:31:26 1991
- --- pbmplus.new/ppm/picttopp.c Sat Apr 20 00:22:44 1991
- ***************
- *** 314,320 ****
- --- 314,324 ----
- }
-
- if (argn < argc) {
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[argn] );
- + #else /* GNUDOS */
- ifp = pm_openr(argv[argn]);
- + #endif /* GNUDOS */
- ++argn;
- } else
- ifp = stdin;
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmpat.c pbmplus.new/ppm/ppmpat.c
- *** pbmplus.old/ppm/ppmpat.c Fri Apr 12 00:31:18 1991
- --- pbmplus.new/ppm/ppmpat.c Sat Apr 20 16:30:54 1991
- ***************
- *** 86,92 ****
- pm_error( "only one base pattern may be specified", 0,0,0,0,0 );
- pattern = PAT_CAMO;
- }
- ! else if (pm_keymatch( argv[argn], "-anticamo", 2 ) == 0)
- {
- if ( pattern != PAT_NONE )
- pm_error( "only one base pattern may be specified", 0,0,0,0,0 );
- --- 86,92 ----
- pm_error( "only one base pattern may be specified", 0,0,0,0,0 );
- pattern = PAT_CAMO;
- }
- ! else if (pm_keymatch( argv[argn], "-anticamo", 2 ) )
- {
- if ( pattern != PAT_NONE )
- pm_error( "only one base pattern may be specified", 0,0,0,0,0 );
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmquant pbmplus.new/ppm/ppmquant
- *** pbmplus.old/ppm/ppmquant Fri Apr 12 00:31:26 1991
- --- pbmplus.new/ppm/ppmquant
- ***************
- *** 1,45 ****
- - #!/bin/csh -f
- - #
- - # ppmquantall - run ppmquant on a bunch of files all at once, so they share
- - # a common colormap
- - #
- - # WARNING: overwrites the source files with the results!!!
- - #
- - # Verbose explanation: Let's say you've got a dozen pixmaps that you want
- - # to display on the screen all at the same time. Your screen can only
- - # display 256 different colors, but the pixmaps have a total of a thousand
- - # or so different colors. For a single pixmap you solve this problem with
- - # ppmquant; this script solves it for multiple pixmaps. All it does is
- - # concatenate them together into one big pixmap, run ppmquant on that, and
- - # then split it up into little pixmaps again.
- -
- - if ( $#argv < 3 ) then
- - echo "usage: ppmquantall <newcolors> <ppmfile> <ppmfile> ..."
- - exit 1
- - endif
- -
- - set newcolors=$argv[1]
- - set files=( $argv[2-] )
- -
- - set heights=()
- - foreach i ( $files )
- - set heights=( $heights `head -2 $i | tail -1 | sed 's/.* //'` )
- - end
- -
- - set all=/tmp/pqa.all.$$
- - rm -f $all
- - pnmcat -tb -white $files | ppmquant -quiet $newcolors > $all
- - if ( $status != 0 ) exit $status
- -
- - set width=`head -2 $all | tail -1 | sed 's/ .*//'`
- -
- - @ y = 0
- - @ i = 1
- - while ( $i <= $#files )
- - pnmcut 0 $y $width $heights[$i] $all | pnmcrop -white > $files[$i]
- - if ( $status != 0 ) exit $status
- - @ y = $y + $heights[$i]
- - @ i++
- - end
- -
- - rm -f $all
- --- 0 ----
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtogif.c pbmplus.new/ppm/ppmtogif.c
- *** pbmplus.old/ppm/ppmtogif.c Fri Apr 12 00:31:20 1991
- --- pbmplus.new/ppm/ppmtogif.c Sat Apr 20 11:21:12 1991
- ***************
- *** 29,34 ****
- --- 29,39 ----
- static pixel** pixels;
- static colorhash_table cht;
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main( argc, argv )
- int argc;
- char* argv[];
- ***************
- *** 68,73 ****
- --- 73,90 ----
- if ( argn != argc )
- pm_usage( usage );
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[argc-1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".gif" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
-
- pm_close( ifp );
- ***************
- *** 106,114 ****
- --- 123,137 ----
- ppm_freecolorhist( chv );
-
- /* All set, let's do it. */
- + #ifdef GNUDOS
- + GIFEncode(
- + ofp, cols, rows, interlace, 0, BitsPerPixel,
- + Red, Green, Blue, GetPixel );
- + #else /* GNUDOS */
- GIFEncode(
- stdout, cols, rows, interlace, 0, BitsPerPixel,
- Red, Green, Blue, GetPixel );
- + #endif /* GNUDOS */
-
- exit( 0 );
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtoicr.c pbmplus.new/ppm/ppmtoicr.c
- *** pbmplus.old/ppm/ppmtoicr.c Fri Apr 12 00:32:48 1991
- --- pbmplus.new/ppm/ppmtoicr.c Sat Apr 20 10:12:02 1991
- ***************
- *** 20,25 ****
- --- 20,30 ----
- colorhash_table cht;
- char *testimage;
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main(argc, argv)
- int argc;
- char *argv[];
- ***************
- *** 87,92 ****
- --- 92,105 ----
- if ( argn != argc )
- pm_usage( usage );
-
- + #ifdef GNUDOS
- + strcpy( fname, windowname );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + strcat( fname, ".icr" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
-
- pm_close( ifp );
- ***************
- *** 138,155 ****
- /* Format is "ESC^W;left;top;width;height;display;windowname" */
-
- pm_message("creating window %s ...", windowname, 0,0,0,0);
- (void)printf("\033^W;%d;%d;%d;%d;%d;%s^",0,0,cols*expand,rows*expand,display,windowname);
- fflush(stdout);
- !
-
- /****************** Download the colormap. ********************/
- pm_message("downloading colormap for %s ...", windowname, 0,0,0,0);
-
- (void)printf("\033^M;%d;%d;%d;%s^",0,MAXCOLORS,CLUTCOLORS,windowname);
- thischar = rgb;
- for (j=0; j<CLUTCOLORS; j++) {
- c = *thischar++;
- if (c > 31 && c < 123 ) { /* printable ASCII */
- putchar(c);
- }
- else {
- --- 151,186 ----
- /* Format is "ESC^W;left;top;width;height;display;windowname" */
-
- pm_message("creating window %s ...", windowname, 0,0,0,0);
- + #ifdef GNUDOS
- + (void)fprintf( ofp, "\033^W;%d;%d;%d;%d;%d;%s^",0,0,cols*expand,rows*expand,display,windowname);
- + fflush( ofp );
- + #else /* GNUDOS */
- (void)printf("\033^W;%d;%d;%d;%d;%d;%s^",0,0,cols*expand,rows*expand,display,windowname);
- fflush(stdout);
- ! #endif /* GNUDOS */
-
- /****************** Download the colormap. ********************/
- pm_message("downloading colormap for %s ...", windowname, 0,0,0,0);
-
- + #ifdef GNUDOS
- + (void)fprintf( ofp, "\033^M;%d;%d;%d;%s^",0,MAXCOLORS,CLUTCOLORS,windowname);
- + #else /* GNUDOS */
- (void)printf("\033^M;%d;%d;%d;%s^",0,MAXCOLORS,CLUTCOLORS,windowname);
- + #endif /* GNUDOS */
- thischar = rgb;
- for (j=0; j<CLUTCOLORS; j++) {
- c = *thischar++;
- if (c > 31 && c < 123 ) { /* printable ASCII */
- + #ifdef GNUDOS
- + fputc(c, ofp );
- + }
- + else {
- + fputc((c>>6)+123, ofp ); /* non-printable, so encode it */
- + fputc((c & 0x3f) + 32, ofp );
- + }
- + }
- + fflush( ofp );
- + #else /* GNUDOS */
- putchar(c);
- }
- else {
- ***************
- *** 158,163 ****
- --- 189,195 ----
- }
- }
- fflush(stdout);
- + #endif /* GNUDOS */
-
- /**************** send out picture *************************/
- /* Protocol's RLE scheme is quicker but buggy */
- ***************
- *** 174,184 ****
- --- 206,230 ----
- for (i = 0; i < rows; i++) {
- newxsize = rleit(thisline,space,cols);
- thisline += cols; /* increment to next line */
- + #ifdef GNUDOS
- + (void)printf("\033^R;%d;%d;%d;%d;%s^",0,i*expand,expand,newxsize,windowname);
- + #else /* GNUDOS */
- (void)printf("\033^R;%d;%d;%d;%d;%s^",0,i*expand,expand,newxsize,windowname);
- + #endif /* GNUDOS */
- thischar = space;
- for (j=0; j< newxsize; j++) {
- c= *thischar++; /*get byte to send */
- if (c>31 && c <123) {
- + #ifdef GNUDOS
- + fputc(c, ofp );
- + }
- + else {
- + fputc((c>>6) + 123, ofp );
- + fputc((c & 0x3f) + 32, ofp );
- + }
- + }
- + fflush( ofp );
- + #else /* GNUDOS */
- putchar(c);
- }
- else {
- ***************
- *** 187,194 ****
- --- 233,245 ----
- }
- }
- fflush(stdout);
- + #endif /* GNUDOS */
- }
- free(space);
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
- +
- exit(0);
- }
-
- ***************
- *** 197,206 ****
- --- 248,272 ----
- else {
- pm_message("sending picture data ...", 0,0,0,0,0);
- for (i = 0; i < rows; i++) {
- + #ifdef GNUDOS
- + (void)fprintf( ofp, "\033^P;%d;%d;%d;%d;%s^",0,i*expand,expand,cols,windowname);
- + #else /* GNUDOS */
- (void)printf("\033^P;%d;%d;%d;%d;%s^",0,i*expand,expand,cols,windowname);
- + #endif /* GNUDOS */
- for (j = 0; j < cols; j++) {
- c = GetPixel(j,i);
- if (c > 31 && c < 123) {
- + #ifdef GNUDOS
- + fputc(c, ofp );
- + }
- + else {
- + fputc((c>>6)+123, ofp );
- + fputc((c & 0x3f) + 32, ofp );
- + }
- + }
- + }
- + fflush( ofp );
- + #else /* GNUDOS */
- putchar(c);
- }
- else {
- ***************
- *** 210,215 ****
- --- 276,286 ----
- }
- }
- fflush(stdout);
- + #endif /* GNUDOS */
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
- +
- exit(0);
- }
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtoilb.c pbmplus.new/ppm/ppmtoilb.c
- *** pbmplus.old/ppm/ppmtoilb.c Fri Apr 12 00:31:22 1991
- --- pbmplus.new/ppm/ppmtoilb.c Sat Apr 20 10:08:38 1991
- ***************
- *** 19,24 ****
- --- 19,29 ----
-
- static int colorstobpp();
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main( argc, argv )
- int argc;
- char *argv[];
- ***************
- *** 60,65 ****
- --- 65,82 ----
- if ( argn != argc )
- pm_usage( usage );
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[argc-1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".ilb" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
-
- pm_close( ifp );
- ***************
- *** 256,265 ****
- --- 273,290 ----
- *cp = 0;
- }
- }
- + #ifdef GNUDOS
- + fwrite( coded_rowbuf, RowBytes(cols), 1, ofp );
- + #else /* GNUDOS */
- fwrite( coded_rowbuf, RowBytes(cols), 1, stdout );
- + #endif /* GNUDOS */
- }
- }
-
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
- +
- exit( 0 );
- }
-
- ***************
- *** 302,314 ****
- --- 327,347 ----
- put_fourchars( str )
- char *str;
- {
- + #ifdef GNUDOS
- + fputs( str, ofp );
- + #else /* GNUDOS */
- fputs( str, stdout );
- + #endif /* GNUDOS */
- }
-
- put_big_short( s )
- short s;
- {
- + #ifdef GNUDOS
- + if ( pm_writebigshort( ofp, s ) == -1 )
- + #else /* GNUDOS */
- if ( pm_writebigshort( stdout, s ) == -1 )
- + #endif /* GNUDOS */
- pm_error( "write error", 0,0,0,0,0 );
- }
-
- ***************
- *** 315,321 ****
- --- 348,358 ----
- put_big_long( l )
- long l;
- {
- + #ifdef GNUDOS
- + if ( pm_writebiglong( ofp, l ) == -1 )
- + #else /* GNUDOS */
- if ( pm_writebiglong( stdout, l ) == -1 )
- + #endif /* GNUDOS */
- pm_error( "write error", 0,0,0,0,0 );
- }
-
- ***************
- *** 322,327 ****
- --- 359,368 ----
- put_byte( b )
- unsigned char b;
- {
- + #ifdef GNUDOS
- + if ( fputc( b, ofp ) == EOF )
- + #else /* GNUDOS */
- if ( putc( b, stdout ) == EOF )
- + #endif /* GNUDOS */
- pm_error( "write error", 0,0,0,0,0 );
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtopcx.c pbmplus.new/ppm/ppmtopcx.c
- *** pbmplus.old/ppm/ppmtopcx.c Fri Apr 12 00:32:46 1991
- --- pbmplus.new/ppm/ppmtopcx.c Sat Apr 20 11:30:32 1991
- ***************
- *** 22,27 ****
- --- 22,32 ----
- pixel **pixels;
- colorhash_table cht;
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main( argc, argv )
- int argc;
- char *argv[];
- ***************
- *** 49,54 ****
- --- 54,71 ----
- if ( argn != argc )
- pm_usage( usage );
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[argc-1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".pcx" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
-
- pm_close( ifp );
- ***************
- *** 90,96 ****
- ppm_freecolorhist( chv );
-
- /* All set, let's do it. */
- ! PCXEncode( stdout, cols, rows, colors, Red, Green, Blue, ReadPlanes );
-
- exit( 0 );
- }
- --- 107,117 ----
- ppm_freecolorhist( chv );
-
- /* All set, let's do it. */
- ! #ifdef GNUDOS
- ! PCXEncode( ofp, cols, rows, colors, Red, Green, Blue, ReadPlanes );
- ! #else /* GNUDOS */
- ! PCXEncode( stdout, cols, rows, colors, Red, Green, Blue, ReadPlanes );
- ! #endif /* GNUDOS */
-
- exit( 0 );
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtopi1.c pbmplus.new/ppm/ppmtopi1.c
- *** pbmplus.old/ppm/ppmtopi1.c Fri Apr 12 00:32:48 1991
- --- pbmplus.new/ppm/ppmtopi1.c Sat Apr 20 10:08:28 1991
- ***************
- *** 18,23 ****
- --- 18,28 ----
- #define MAXVAL 7
- #define MAXCOLORS 16
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main( argc, argv )
- int argc;
- char *argv[];
- ***************
- *** 42,47 ****
- --- 47,64 ----
- else
- ifp = stdin;
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".pi1" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
- pm_close( ifp );
- if ( (cols > COLS) || (rows > ROWS) )
- ***************
- *** 58,64 ****
- pm_message( "%d colors found", colors, 0,0,0,0 );
-
- /* Write PI1 header - resolution and palette. */
- ! (void) pm_writebigshort( stdout, (short) 0 ); /* low resolution */
- for ( i = 0; i < 16; ++i )
- {
- short w;
- --- 75,85 ----
- pm_message( "%d colors found", colors, 0,0,0,0 );
-
- /* Write PI1 header - resolution and palette. */
- ! #ifdef GNUDOS
- ! (void) pm_writebigshort( ofp, (short) 0 ); /* low resolution */
- ! #else /* GNUDOS */
- ! (void) pm_writebigshort( stdout, (short) 0 ); /* low resolution */
- ! #endif /* GNUDOS */
- for ( i = 0; i < 16; ++i )
- {
- short w;
- ***************
- *** 76,82 ****
- --- 97,107 ----
- }
- else
- w = 0;
- + #ifdef GNUDOS
- + (void) pm_writebigshort( ofp, w );
- + #else /* GNUDOS */
- (void) pm_writebigshort( stdout, w );
- + #endif /* GNUDOS */
- }
- if ( maxval > MAXVAL )
- pm_message(
- ***************
- *** 112,118 ****
- --- 137,151 ----
-
- /* And write out the screen buffer. */
- for ( i = 0; i < ROWS*COLS/4; ++i )
- + #ifdef GNUDOS
- + (void) pm_writebigshort( ofp, screen[i] );
- + #else /* GNUDOS */
- (void) pm_writebigshort( stdout, screen[i] );
- + #endif /* GNUDOS */
- +
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
-
- exit( 0 );
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtopic.c pbmplus.new/ppm/ppmtopic.c
- *** pbmplus.old/ppm/ppmtopic.c Fri Apr 12 00:31:26 1991
- --- pbmplus.new/ppm/ppmtopic.c Sat Apr 20 10:16:00 1991
- ***************
- *** 130,135 ****
- --- 130,140 ----
- #define MAXCOLORS 256
- colorhash_table cht;
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main(argc, argv)
- int argc;
- char *argv[];
- ***************
- *** 155,160 ****
- --- 160,177 ----
- if (argn != argc)
- pm_usage("[ppmfile]");
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[argc-1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".pct" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- pixels = ppm_readppm(ifp, &cols, &rows, &maxval);
- if (cols < 8)
- pm_error("ppm input too narrow, must be >= 8 pixels wide", 0,0,0,0,0);
- ***************
- *** 174,186 ****
- --- 191,223 ----
- cht = ppm_colorhisttocolorhash(chv, colors);
-
- /* write the header */
- + #ifdef GNUDOS
- + putFill( ofp, HEADER_SIZE);
- + #else /* GNUDOS */
- putFill(stdout, HEADER_SIZE);
- + #endif /* GNUDOS */
-
- /* write picSize and picFrame */
- + #ifdef GNUDOS
- + putShort( ofp, 0);
- + putRect( ofp, 0, 0, rows, cols);
- + #else /* GNUDOS */
- putShort(stdout, 0);
- putRect(stdout, 0, 0, rows, cols);
- + #endif /* GNUDOS */
-
- /* write version op and version */
- + #ifdef GNUDOS
- + putShort( ofp, PICT_picVersion);
- + putShort( ofp, 0x02FF);
- + putShort( ofp, PICT_headerOp);
- + putLong( ofp, -1L);
- + putFixed( ofp, 0, 0);
- + putFixed( ofp, 0, 0);
- + putFixed( ofp, cols, 0);
- + putFixed( ofp, rows, 0);
- + putFill( ofp, 4);
- + #else /* GNUDOS */
- putShort(stdout, PICT_picVersion);
- putShort(stdout, 0x02FF);
- putShort(stdout, PICT_headerOp);
- ***************
- *** 190,202 ****
- putFixed(stdout, cols, 0);
- putFixed(stdout, rows, 0);
- putFill(stdout, 4);
-
- ! /* seems to be needed by many PICT2 programs */
- putShort(stdout, PICT_clipRgn);
- putShort(stdout, 10);
- putRect(stdout, 0, 0, rows, cols);
-
- /* write picture */
- putShort(stdout, PICT_PackBitsRect);
- putShort(stdout, cols | 0x8000);
- putRect(stdout, 0, 0, rows, cols);
- --- 227,266 ----
- putFixed(stdout, cols, 0);
- putFixed(stdout, rows, 0);
- putFill(stdout, 4);
- + #endif /* GNUDOS */
-
- ! /* seems to be needed by many PICT2 programs */
- ! #ifdef GNUDOS
- ! putShort( ofp, PICT_clipRgn);
- ! putShort( ofp, 10);
- ! putRect( ofp, 0, 0, rows, cols);
- ! #else /* GNUDOS */
- putShort(stdout, PICT_clipRgn);
- putShort(stdout, 10);
- putRect(stdout, 0, 0, rows, cols);
- + #endif /* GNUDOS */
-
- /* write picture */
- + #ifdef GNUDOS
- + putShort( ofp, PICT_PackBitsRect);
- + putShort( ofp, cols | 0x8000);
- + putRect( ofp, 0, 0, rows, cols);
- + putShort( ofp, 0); /* pmVersion */
- + putShort( ofp, 0); /* packType */
- + putLong( ofp, 0L); /* packSize */
- + putFixed( ofp, 72, 0); /* hRes */
- + putFixed( ofp, 72, 0); /* vRes */
- + putShort( ofp, 0); /* pixelType */
- + putShort( ofp, 8); /* pixelSize */
- + putShort( ofp, 1); /* cmpCount */
- + putShort( ofp, 8); /* cmpSize */
- + putLong( ofp, 0L); /* planeBytes */
- + putLong( ofp, 0L); /* pmTable */
- + putLong( ofp, 0L); /* pmReserved */
- + putLong( ofp, 0L); /* ctSeed */
- + putShort( ofp, 0); /* ctFlags */
- + putShort( ofp, colors-1); /* ctSize */
- + #else /* GNUDOS */
- putShort(stdout, PICT_PackBitsRect);
- putShort(stdout, cols | 0x8000);
- putRect(stdout, 0, 0, rows, cols);
- ***************
- *** 215,225 ****
- --- 279,294 ----
- putLong(stdout, 0L); /* ctSeed */
- putShort(stdout, 0); /* ctFlags */
- putShort(stdout, colors-1); /* ctSize */
- + #endif /* GNUDOS */
-
- /* Write out the colormap. */
- for (i = 0; i < colors; i++)
- {
- + #ifdef GNUDOS
- + putShort( ofp, i );
- + #else /* GNUDOS */
- putShort(stdout, i);
- + #endif /* GNUDOS */
- rval = PPM_GETR(chv[i].color);
- gval = PPM_GETG(chv[i].color);
- bval = PPM_GETB(chv[i].color);
- ***************
- *** 229,251 ****
- --- 298,344 ----
- gval = gval * 65535L / lmaxval;
- bval = bval * 65535L / lmaxval;
- }
- + #ifdef GNUDOS
- + putShort( ofp, (short)rval);
- + putShort( ofp, (short)gval);
- + putShort( ofp, (short)bval);
- + #else /* GNUDOS */
- putShort(stdout, (short)rval);
- putShort(stdout, (short)gval);
- putShort(stdout, (short)bval);
- + #endif /* GNUDOS */
- }
-
- + #ifdef GNUDOS
- + putRect( ofp, 0, 0, rows, cols); /* srcRect */
- + putRect( ofp, 0, 0, rows, cols); /* dstRect */
- + putShort( ofp, 0); /* mode */
- + #else /* GNUDOS */
- putRect(stdout, 0, 0, rows, cols); /* srcRect */
- putRect(stdout, 0, 0, rows, cols); /* dstRect */
- putShort(stdout, 0); /* mode */
- + #endif /* GNUDOS */
-
- /* Finally, write out the data. */
- packed = (char*) malloc((unsigned)(cols+cols/MAX_COUNT+1));
- oc = 0;
- for (row = 0; row < rows; row++)
- + #ifdef GNUDOS
- + oc += putRow( ofp, row, cols, pixels[row], packed);
- + #else /* GNUDOS */
- oc += putRow(stdout, row, cols, pixels[row], packed);
- + #endif /* GNUDOS */
-
- /* if we wrote an odd number of pixdata bytes, pad */
- if (oc & 1)
- + #ifdef GNUDOS
- + putc(0, ofp );
- + putShort( ofp, PICT_EndOfPicture);
- +
- + lmaxval = ftell( ofp ) - HEADER_SIZE;
- + if (fseek( ofp, (long)HEADER_SIZE, 0) >= 0)
- + putShort( ofp, (short)(lmaxval & 0xffff));
- + #else /* GNUDOS */
- putc(0, stdout);
- putShort(stdout, PICT_EndOfPicture);
-
- ***************
- *** 252,257 ****
- --- 345,355 ----
- lmaxval = ftell(stdout) - HEADER_SIZE;
- if (fseek(stdout, (long)HEADER_SIZE, 0) >= 0)
- putShort(stdout, (short)(lmaxval & 0xffff));
- + #endif /* GNUDOS */
- +
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
-
- exit(0);
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtops.c pbmplus.new/ppm/ppmtops.c
- *** pbmplus.old/ppm/ppmtops.c Fri Apr 12 00:31:20 1991
- --- pbmplus.new/ppm/ppmtops.c Sat Apr 20 10:20:34 1991
- ***************
- *** 14,19 ****
- --- 14,24 ----
-
- static void putinit(), putitem(), putpix(), putgray(), putrest();
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main( argc, argv )
- int argc;
- char *argv[];
- ***************
- *** 65,70 ****
- --- 70,87 ----
- if ( argn != argc )
- pm_usage( usage );
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[argc-1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".ps" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- ppm_readppminit( ifp, &cols, &rows, &maxval, &format );
- pixrow = ppm_allocrow( cols );
-
- ***************
- *** 99,104 ****
- --- 116,125 ----
-
- putrest( );
-
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
- +
- exit( 0 );
- }
-
- ***************
- *** 120,125 ****
- --- 141,167 ----
- if ( llx < 0.0 || lly < 0.0 )
- pm_message( "warning, image too large for page", 0,0,0,0,0 );
-
- + #ifdef GNUDOS
- + fprintf( ofp, "%%!PS-Adobe-2.0 EPSF-2.0)\n" );
- + fprintf( ofp, "%%%%Creator: ppmtops\n" );
- + fprintf( ofp, "%%%%Title: %s.ps\n", name );
- + fprintf( ofp, "%%%%Pages: 1\n" );
- + fprintf( ofp,
- + "%%%%BoundingBox: %d %d %d %d\n",
- + (int) llx, (int) lly, (int) ( llx + scols ), (int) ( lly + srows ) );
- + fprintf( ofp, "%%%%EndComments\n" );
- + fprintf( ofp, "%%%%EndProlog\n" );
- + fprintf( ofp, "%%%%Page: 1 1\n" );
- + fprintf( ofp, "/picstr %d string def\n", HSBUFSIZ );
- + fprintf( ofp, "gsave\n" );
- + fprintf( ofp, "%g %g translate\n", llx, lly );
- + fprintf( ofp, "%g %g scale\n", scols, srows );
- + fprintf( ofp, "%d %d %d\n", cols, rows, bps );
- + fprintf( ofp, "[ %d 0 0 -%d 0 %d ]\n", cols, rows, rows );
- + fprintf( ofp, "{ currentfile picstr readhexstring pop }\n" );
- + fprintf( ofp, "false 3\n" );
- + fprintf( ofp, "colorimage\n" );
- + #else /* GNUDOS */
- printf( "%%!PS-Adobe-2.0 EPSF-2.0)\n" );
- printf( "%%%%Creator: ppmtops\n" );
- printf( "%%%%Title: %s.ps\n", name );
- ***************
- *** 139,144 ****
- --- 181,187 ----
- printf( "{ currentfile picstr readhexstring pop }\n" );
- printf( "false 3\n" );
- printf( "colorimage\n" );
- + #endif /* GNUDOS */
-
- bitspersample = bps;
- itemsperline = items = 0;
- ***************
- *** 154,164 ****
- --- 197,215 ----
-
- if ( itemsperline == 30 )
- {
- + #ifdef GNUDOS
- + fputc( '\n', ofp );
- + itemsperline = 0;
- + }
- + fputc( hexits[item >> 4], ofp );
- + fputc( hexits[item & 15], ofp );
- + #else /* GNUDOS */
- putchar( '\n' );
- itemsperline = 0;
- }
- putchar( hexits[item >> 4] );
- putchar( hexits[item & 15] );
- + #endif /* GNUDOS */
- itemsperline++;
- items++;
- item = 0;
- ***************
- *** 193,200 ****
- --- 244,258 ----
- putitem( );
- while ( items % HSBUFSIZ != 0 )
- putitem( );
- + #ifdef GNUDOS
- + fprintf( ofp, "\n" );
- + fprintf( ofp, "grestore\n" );
- + fprintf( ofp, "showpage\n" );
- + fprintf( ofp, "%%%%Trailer\n" );
- + #else /* GNUDOS */
- printf( "\n" );
- printf( "grestore\n" );
- printf( "showpage\n" );
- printf( "%%%%Trailer\n" );
- + #endif /* GNUDOS */
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtopuz.c pbmplus.new/ppm/ppmtopuz.c
- *** pbmplus.old/ppm/ppmtopuz.c Fri Apr 12 00:32:46 1991
- --- pbmplus.new/ppm/ppmtopuz.c Sat Apr 20 10:08:18 1991
- ***************
- *** 16,21 ****
- --- 16,26 ----
- #define MAXVAL 255
- #define MAXCOLORS 256
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main( argc, argv )
- int argc;
- char *argv[];
- ***************
- *** 39,44 ****
- --- 44,62 ----
- else
- ifp = stdin;
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".puz" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- +
- pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
- pm_close( ifp );
-
- ***************
- *** 53,61 ****
- pm_message( "%d colors found", colors, 0,0,0,0 );
-
- /* Write puzzle header. */
- (void) pm_writebiglong( stdout, cols );
- (void) pm_writebiglong( stdout, rows );
- ! (void) putchar( (unsigned char) colors );
- if ( maxval > MAXVAL )
- pm_message(
- "maxval is not %d - automatically rescaling colors", MAXVAL,
- --- 71,86 ----
- pm_message( "%d colors found", colors, 0,0,0,0 );
-
- /* Write puzzle header. */
- + #ifdef GNUDOS
- + (void) pm_writebiglong( ofp, cols );
- + (void) pm_writebiglong( ofp, rows );
- + (void) fputc( (unsigned char) colors, ofp );
- + #else /* GNUDOS */
- (void) pm_writebiglong( stdout, cols );
- (void) pm_writebiglong( stdout, rows );
- ! (void) putchar( (unsigned char) colors );
- ! #endif /* GNUDOS */
- !
- if ( maxval > MAXVAL )
- pm_message(
- "maxval is not %d - automatically rescaling colors", MAXVAL,
- ***************
- *** 67,75 ****
- --- 92,106 ----
- p = chv[i].color;
- if ( maxval != MAXVAL )
- PPM_DEPTH( p, p, maxval, MAXVAL );
- + #ifdef GNUDOS
- + (void) fputc( (unsigned char) PPM_GETR( p ), ofp );
- + (void) fputc( (unsigned char) PPM_GETG( p ), ofp );
- + (void) fputc( (unsigned char) PPM_GETB( p ), ofp );
- + #else /* GNUDOS */
- (void) putchar( (unsigned char) PPM_GETR( p ) );
- (void) putchar( (unsigned char) PPM_GETG( p ) );
- (void) putchar( (unsigned char) PPM_GETB( p ) );
- + #endif /* GNUDOS */
- }
-
- /* Convert color vector to color hash table, for fast lookup. */
- ***************
- *** 88,96 ****
- --- 119,135 ----
- pm_error(
- "color not found?!? row=%d col=%d r=%d g=%d b=%d",
- row, col, PPM_GETR(*pP), PPM_GETG(*pP), PPM_GETB(*pP) );
- + #ifdef GNUDOS
- + (void) fputc( (unsigned char) color, ofp );
- + #else /* GNUDOS */
- (void) putchar( (unsigned char) color );
- + #endif /* GNUDOS */
- }
- }
- +
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
-
- exit( 0 );
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtorgb.c pbmplus.new/ppm/ppmtorgb.c
- *** pbmplus.old/ppm/ppmtorgb.c Fri Apr 12 00:32:48 1991
- --- pbmplus.new/ppm/ppmtorgb.c Sat Apr 20 10:23:04 1991
- ***************
- *** 55,69 ****
- --- 55,81 ----
- pixelrow = ppm_allocrow( cols );
- (void) strcpy( filename, basename );
- (void) strcat( filename, ".red" );
- + #ifdef GNUDOS
- + redfile = pm_openwb( filename );
- + #else /* GNUDOS */
- redfile = pm_openw( filename );
- + #endif /* GNUDOS */
- pgm_writepgminit( redfile, cols, rows, (gray) maxval, 0 );
- (void) strcpy( filename, basename );
- (void) strcat( filename, ".grn" );
- + #ifdef GNUDOS
- + grnfile = pm_openwb( filename );
- + #else /* GNUDOS */
- grnfile = pm_openw( filename );
- + #endif /* GNUDOS */
- pgm_writepgminit( grnfile, cols, rows, (gray) maxval, 0 );
- (void) strcpy( filename, basename );
- (void) strcat( filename, ".blu" );
- + #ifdef GNUDOS
- + blufile = pm_openwb( filename );
- + #else /* GNUDOS */
- blufile = pm_openw( filename );
- + #endif /* GNUDOS */
- pgm_writepgminit( blufile, cols, rows, (gray) maxval, 0 );
- grayrow = pgm_allocrow( cols );
-
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtouil.c pbmplus.new/ppm/ppmtouil.c
- *** pbmplus.old/ppm/ppmtouil.c Fri Apr 12 00:32:46 1991
- --- pbmplus.new/ppm/ppmtouil.c Sat Apr 20 10:26:10 1991
- ***************
- *** 29,34 ****
- --- 29,39 ----
- char* rgbname; /* ascii rgb color, either mnemonic or #rgb value */
- } cixel_map;
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main( argc, argv )
- int argc;
- char* argv[];
- ***************
- *** 94,99 ****
- --- 99,116 ----
- if ( argn != argc )
- pm_usage( usage );
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".uil" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- /* Read in the ppm file. */
- pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
- pm_close( ifp );
- ***************
- *** 113,118 ****
- --- 130,177 ----
- gen_cmap( chv, ncolors, maxval, cmap, &charspp );
-
- /* Write out the UIL header. */
- + #ifdef GNUDOS
- + fprintf( ofp, "module %s\n", out_name );
- + fprintf( ofp, "version = 'V1.0'\n" );
- + fprintf( ofp, "names = case_sensitive\n" );
- +
- + /* Write out the ascii colormap. */
- + fprintf( ofp, "\n" );
- + fprintf( ofp, "value\n" );
- + fprintf( ofp, " %s_rgb : color_table (\n", out_name );
- + for ( i = 0; i < ncolors; ++i )
- + {
- + fprintf( ofp, " color( '%s' ) = '%s'", cmap[i].rgbname, cmap[i].cixel );
- + if ( i != ncolors - 1 )
- + fprintf( ofp, ",\n" );
- + else
- + fprintf( ofp, "\n" );
- + }
- + fprintf( ofp, " );\n" );
- +
- + /* Write out the ascii character-pixel image. */
- + fprintf( ofp, "\n" );
- + fprintf( ofp,
- + "%s_icon : exported icon( color_table = %s_rgb,\n",
- + out_name, out_name );
- + for ( row = 0; row < rows; ++row )
- + {
- + fprintf( ofp, " '" );
- + for ( col = 0, pP = pixels[row]; col < cols; ++col, ++pP )
- + {
- + if ( ( col * charspp ) % 70 == 0 && col > 0 )
- + fprintf( ofp, "'&\n '" ); /* line continuation */
- + fprintf( ofp, "%s", cmap[ppm_lookupcolor(cht, pP)].cixel );
- + }
- + if ( row != rows - 1 )
- + fprintf( ofp, "',\n" );
- + else
- + fprintf( ofp, "'\n") ;
- + }
- + fprintf( ofp, ");\n" );
- + fprintf( ofp, "\n" );
- + fprintf( ofp, "end module;\n" );
- + #else /* GNUDOS */
- printf( "module %s\n", out_name );
- printf( "version = 'V1.0'\n" );
- printf( "names = case_sensitive\n" );
- ***************
- *** 153,158 ****
- --- 212,222 ----
- printf( ");\n" );
- printf( "\n" );
- printf( "end module;\n" );
- + #endif /* GNUDOS */
- +
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
-
- exit( 0 );
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ppmtoxpm.c pbmplus.new/ppm/ppmtoxpm.c
- *** pbmplus.old/ppm/ppmtoxpm.c Fri Apr 12 00:31:24 1991
- --- pbmplus.new/ppm/ppmtoxpm.c Sat Apr 20 10:26:40 1991
- ***************
- *** 32,37 ****
- --- 32,42 ----
- char* rgbname; /* ascii rgb color, either mnemonic or #rgb value */
- } cixel_map;
-
- + #ifdef GNUDOS
- + FILE* ofp;
- + char fname[100], *fcp;
- + #endif /* GNUDOS */
- +
- void main( argc, argv )
- int argc;
- char* argv[];
- ***************
- *** 98,103 ****
- --- 103,120 ----
- if ( argn != argc )
- pm_usage( usage );
-
- + #ifdef GNUDOS
- + if ( ifp == stdin )
- + strcpy( fname, "noname" );
- + else {
- + strcpy( fname, argv[argc-1] );
- + if ( ( fcp = index( fname, '.' ) ) != 0 )
- + *fcp = '\0';
- + }
- + strcat( fname, ".xbm" );
- + ofp = pm_openwb( fname );
- + #endif /* GNUDOS */
- +
- /* Read in the ppm file. */
- pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
- pm_close( ifp );
- ***************
- *** 117,122 ****
- --- 134,172 ----
- gen_cmap( chv, ncolors, maxval, cmap, &charspp );
-
- /* Write out the XPM header. */
- + #ifdef GNUDOS
- + fprintf( ofp, "#define %s_format %d\n", out_name, 1 );
- + fprintf( ofp, "#define %s_width %d\n", out_name, cols );
- + fprintf( ofp, "#define %s_height %d\n", out_name, rows );
- + fprintf( ofp, "#define %s_ncolors %d\n", out_name, ncolors );
- + fprintf( ofp, "#define %s_chars_per_pixel %d\n", out_name, charspp );
- +
- + /* Write out the ascii colormap. */
- + fprintf( ofp, "static char *%s_colors[] = {\n", out_name );
- + for ( i = 0; i < ncolors; ++i )
- + {
- + fprintf( ofp, " \"%s\", \"%s\"", cmap[i].cixel, cmap[i].rgbname );
- + if ( i != ncolors - 1 )
- + fprintf( ofp, ",\n" );
- + else
- + fprintf( ofp, "\n" );
- + }
- + fprintf( ofp, "};\n" );
- +
- + /* Write out the ascii character-pixel image. */
- + fprintf( ofp, "static char *%s_pixels[] = {\n", out_name );
- + for ( row = 0; row < rows; ++row )
- + {
- + fprintf( ofp, "\"" );
- + for ( col = 0, pP = pixels[row]; col < cols; ++col, ++pP )
- + fprintf( ofp, "%s", cmap[ppm_lookupcolor(cht, pP)].cixel );
- + if ( row != rows - 1 )
- + fprintf( ofp, "\",\n" );
- + else
- + fprintf( ofp, "\"\n" );
- + }
- + fprintf( ofp, "};\n" );
- + #else /* GNUDOS */
- printf( "#define %s_format %d\n", out_name, 1 );
- printf( "#define %s_width %d\n", out_name, cols );
- printf( "#define %s_height %d\n", out_name, rows );
- ***************
- *** 148,153 ****
- --- 198,208 ----
- printf( "\"\n" );
- }
- printf( "};\n" );
- + #endif /* GNUDOS */
- +
- + #ifdef GNUDOS
- + pm_close( ofp );
- + #endif /* GNUDOS */
-
- exit( 0 );
- }
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/qrttoppm.c pbmplus.new/ppm/qrttoppm.c
- *** pbmplus.old/ppm/qrttoppm.c Fri Apr 12 00:31:20 1991
- --- pbmplus.new/ppm/qrttoppm.c Sat Apr 20 00:22:20 1991
- ***************
- *** 28,34 ****
- --- 28,38 ----
- pm_usage( "[qrtfile]" );
-
- if ( argc == 2 )
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[1] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[1] );
- + #endif /* GNUDOS */
- else
- ifp = stdin;
-
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/rawtoppm.c pbmplus.new/ppm/rawtoppm.c
- *** pbmplus.old/ppm/rawtoppm.c Fri Apr 12 00:32:48 1991
- --- pbmplus.new/ppm/rawtoppm.c Sat Apr 20 00:21:54 1991
- ***************
- *** 98,104 ****
- --- 98,108 ----
-
- if ( argn < argc )
- {
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[argn] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[argn] );
- + #endif /* GNUDOS */
- ++argn;
- }
- else
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/spctoppm.c pbmplus.new/ppm/spctoppm.c
- *** pbmplus.old/ppm/spctoppm.c Fri Apr 12 00:32:48 1991
- --- pbmplus.new/ppm/spctoppm.c Sat Apr 20 00:21:08 1991
- ***************
- *** 42,48 ****
- --- 42,52 ----
- pm_usage( "[spcfile]" );
-
- if ( argc == 2 )
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[1] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[1] );
- + #endif /* GNUDOS */
- else
- ifp = stdin;
-
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/sputoppm.c pbmplus.new/ppm/sputoppm.c
- *** pbmplus.old/ppm/sputoppm.c Fri Apr 12 00:32:48 1991
- --- pbmplus.new/ppm/sputoppm.c Sat Apr 20 00:20:42 1991
- ***************
- *** 34,40 ****
- --- 34,44 ----
- pm_usage( "[spufile]" );
-
- if ( argc == 2 )
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[1] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[1] );
- + #endif /* GNUDOS */
- else
- ifp = stdin;
-
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/tgatoppm.c pbmplus.new/ppm/tgatoppm.c
- *** pbmplus.old/ppm/tgatoppm.c Fri Apr 12 00:31:22 1991
- --- pbmplus.new/ppm/tgatoppm.c Sat Apr 20 00:20:22 1991
- ***************
- *** 53,59 ****
- --- 53,63 ----
-
- if ( argn != argc )
- {
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[argn] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[argn] );
- + #endif /* GNUDOS */
- ++argn;
- }
- else
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/ximtoppm.c pbmplus.new/ppm/ximtoppm.c
- *** pbmplus.old/ppm/ximtoppm.c Fri Apr 12 00:31:24 1991
- --- pbmplus.new/ppm/ximtoppm.c Sat Apr 20 00:19:56 1991
- ***************
- *** 31,37 ****
- --- 31,41 ----
-
- if ( argn < argc )
- {
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[argn] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[argn] );
- + #endif /* GNUDOS */
- ++argn;
- }
- else
- diff -c -B -H +new-file +recursive pbmplus.old/ppm/xpmtoppm.c pbmplus.new/ppm/xpmtoppm.c
- *** pbmplus.old/ppm/xpmtoppm.c Fri Apr 12 00:32:46 1991
- --- pbmplus.new/ppm/xpmtoppm.c Sat Apr 20 00:19:30 1991
- ***************
- *** 33,39 ****
- --- 33,43 ----
- pm_usage( "[xpmfile]" );
-
- if ( argc == 2 )
- + #ifdef GNUDOS
- + ifp = pm_openrb( argv[1] );
- + #else /* GNUDOS */
- ifp = pm_openr( argv[1] );
- + #endif /* GNUDOS */
- else
- ifp = stdin;
-
- diff -c -B -H +new-file +recursive pbmplus.old/readme.dos pbmplus.new/readme.dos
- *** pbmplus.old/readme.dos
- --- pbmplus.new/readme.dos Sun Apr 28 12:24:24 1991
- ***************
- *** 0 ****
- --- 1,108 ----
- + This is my first release of my port of the pbmplus package to DOS.
- + It was done using DJ Delorie's DOS port of GCC. You REQUIRE a 386 or
- + better machine. 387 optional for parts, and those parts should tell you
- + when you don't have one. See the GCC package for more details. Also,
- + lots of ram and disk space help. See below for more information.
- +
- + The gcc package can be obtained from: grape.ecs.clarkson.edu
- + (I believe it can also be found on garbo.uwase.fi, and probably others.
- + Check archie).
- +
- + The PBMPlus package can be obtained from ..... damn... have to go look
- + that up.
- +
- + I believe this package works for the most part.
- +
- + Parts I know don't work:
- + GIFTOPPM -- this may be a flaw in GCC malloc, I don't know.
- + PBMTOGEM -- this is a little-endian/big-endian problem *sigh*
- + at least GEMTOPBM works....
- + PNMGAMMA -- all 0's get mapped to 256, even with correction of 1.0. Go
- + figure. Fix, make an appropriate file of all 1's and run
- + through PNMARITH (well, I think this will work).
- +
- + None of the TIFF stuff. Can't get the damn library to link in. I think
- + this is just pilot error on my part with using 'ld'
- +
- + This is the first real project I've worked on in C, and I'm pretty much
- + clueless. :-> It doesn't take a genius to go through and change printf
- + to fprintf(ofp , just someone with nothing better to do, and an editor
- + that supports macros well.
- +
- + If anyone finds any other problems, please get in touch with me. I
- + won't have net access over the summer (I'm looking into it, but no luck
- + yet, and I can't afford lond-distance phone calls on a regular basis).
- + If you find a problem, I would be interested in a copy of the input file
- + in the original format, and one in GIF, TARGA, RAW, or any format that
- + CSHOW can handle. I would also like copies of any other patches you may
- + develop.
- +
- + You can either send me disks (with self-addressed stamped envelope to
- + mail them back with, hopefully with fixes :-), or send me mail, and I'll
- + send disks with an SASE to you.
- +
- + My address is:
- + Mike Castle
- + R 2 Bx 69
- + Troy, MO 63379
- + USA
- +
- +
- + EXEs: If you are reading this from the distribution through
- + comp.binaries.ibm.pc, then most likely you have all (or most) of the
- + .exe files. The file GO32.EXE _MUST_ be in you path. This is the DJ's
- + DOS extender, and is needed to get the other programs to work. I used
- + just the stub that calls the extender rather than the actual extender
- + when I created the actuall exe files in order to save space. The entire
- + package would have been about twice the size had I built them with the
- + extender. If you want to change that, get the original PBMPlus source,
- + apply my patches, and then rebuild (see PATCHes: below).
- +
- + PATCHes: As will be posted to alt.sources, my patches include several
- + utility batch files to (hopefully) aid making them. They are:
- + MAKEALL.BAT This assumes using GNUMAKE (available on Simtel20, et al)
- + MAKEEXE.BAT This builds the actuall executables from the 32-bit
- + code produced by GCC. Edit it to fit your system,
- + and desires.
- + DELP?M.BAT These exist in each directory, and just deletes all
- + of the a.out files from GCC. Useful for cleaning up.
- + EXEP?M.BAT Also in each directory. Called by MAKEEXE.BAT, they
- + perform the actuall 'copy /b stub.exe+xxxxx xxxxx.eexe'
- +
- + The makefile.pc in each of pbm, pgm, ppm, and pnm directories might work
- + with other make's. I don't know. But it should still provide a good
- + indication of how to procede.
- +
- + If you have unix-like utilities for DOS (rm, mv, etc), you can probably
- + use the original makefiles. Just watch out for long command lines in
- + the pnm makefile.
- +
- + These patches *should* allow compilation on a unix machine resulting in
- + identical executables to the official PBMPlus package (well, in theory,
- + it should).
- +
- + CAVEATs: This package is SLOW. This is due to the fact that when you do
- + redirection through DOS (ala tgatoppm my.tga | ppmquant 256 | ppmtogif),
- + DOS has to create tempory output/input files for redirection purposes.
- + Hazards of a single-tasking OS. To determine the amount of diskspace
- + you need, do this:
- + disk_space = height * width * 12
- +
- + for 1 redirection ( pcxtoppm my.pcx | ppmtogif ).
- +
- + Multiply by 2 for more than 1 redirection.
- +
- + DEVIATIONS: Since DOS doens't like certain characters to go through
- + stdin/stdout, I changed all p?mto???.exe's to produce an output file
- + instead of using redirection as you would on a unix system. If used
- + directly, like 'ppmtogif my.ppm' the output file will be my.gif. If
- + used with redirection, the outfile will be noname.gif. The extensions
- + were chosen, for the most part, from the last three letters of the
- + p?mtoxxx utility. Some were changed, some should probably be changed.
- +
- + Sorry for the rambling nature of this doc, just writing things down as I
- + think of them.
- +
- + Enjoy the package, bugs and all.
- +
- + Mike Castle
-