home *** CD-ROM | disk | FTP | other *** search
/ Mega A/V / mega_av.zip / mega_av / GRAPHUTL / PBMPLUS.ZIP / PBMDOS32.DIF < prev    next >
Text File  |  1991-08-11  |  169KB  |  4,890 lines

  1. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/all.bat pbmplus.new/all.bat
  2. *** pbmplus.old/all.bat
  3. --- pbmplus.new/all.bat    Sat Jul 20 14:13:32 1991
  4. ***************
  5. *** 0 ****
  6. --- 1,15 ----
  7. + @rem Batch program to make separate pbmplus utilities.
  8. + cd pbm
  9. + make all
  10. + call exepbm
  11. + cd ..\pgm
  12. + make all
  13. + call exepgm
  14. + cd ..\ppm
  15. + make all
  16. + call exeppm
  17. + cd ..\pnm
  18. + make all
  19. + call exepnm
  20. + cd ..
  21. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/merge.bat pbmplus.new/merge.bat
  22. *** pbmplus.old/merge.bat
  23. --- pbmplus.new/merge.bat    Sat Jul 20 14:14:42 1991
  24. ***************
  25. *** 0 ****
  26. --- 1,11 ----
  27. + @rem Batch program to make merged pbmplus utilities.
  28. + cd pbm
  29. + make merge
  30. + cd ..\pgm
  31. + make merge
  32. + cd ..\ppm
  33. + make merge
  34. + cd ..\pnm
  35. + make merge
  36. + cd ..
  37. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/brushtop.c pbmplus.new/pbm/brushtop.c
  38. *** pbmplus.old/pbm/brushtop.c    Fri Apr 12 00:30:32 1991
  39. --- pbmplus.new/pbm/brushtop.c    Sat Jun 15 10:58:56 1991
  40. ***************
  41. *** 33,38 ****
  42. --- 33,41 ----
  43.       else
  44.       ifp = stdin;
  45.   
  46. +     setmode( fileno( ifp ), O_BINARY );
  47. +     setmode( fileno( stdout ), O_BINARY );
  48.       getinit( ifp, &cols, &rows );
  49.   
  50.       pbm_writepbminit( stdout, cols, rows, 0 );
  51. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/cmuwmtop.c pbmplus.new/pbm/cmuwmtop.c
  52. *** pbmplus.old/pbm/cmuwmtop.c    Fri Apr 12 00:30:34 1991
  53. --- pbmplus.new/pbm/cmuwmtop.c    Sat Jun 15 11:01:10 1991
  54. ***************
  55. *** 35,40 ****
  56. --- 35,43 ----
  57.       else
  58.       ifp = stdin;
  59.   
  60. +     setmode( fileno( ifp ), O_BINARY );
  61. +     setmode( fileno( stdout ), O_BINARY );
  62.       getinit( ifp, &cols, &rows, &depth, &padright );
  63.       if ( depth != 1 )
  64.       pm_error(
  65. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/delpbm.bat pbmplus.new/pbm/delpbm.bat
  66. *** pbmplus.old/pbm/delpbm.bat
  67. --- pbmplus.new/pbm/delpbm.bat    Fri Apr 12 22:46:42 1991
  68. ***************
  69. *** 0 ****
  70. --- 1,36 ----
  71. + del BRUSHTOP
  72. + del CMUWMTOP
  73. + del G3TOPBM
  74. + del GEMTOPBM
  75. + del ICONTOPB
  76. + del MACPTOPB
  77. + del MGRTOPBM
  78. + del PBMLIFE
  79. + del PBMMAKE
  80. + del PBMMASK
  81. + del PBMPASTE
  82. + del PBMREDUC
  83. + del PBMTEXT
  84. + del PBMTO10X
  85. + del PBMTOASC
  86. + del PBMTOBBN
  87. + del PBMTOCMU
  88. + del PBMTOEPS
  89. + del PBMTOG3
  90. + del PBMTOGEM
  91. + del PBMTOGO
  92. + del PBMTOICO
  93. + del PBMTOLJ
  94. + del PBMTOMAC
  95. + del PBMTOMGR
  96. + del PBMTOPI3
  97. + del PBMTOPLO
  98. + del PBMTOPTX
  99. + del PBMTOX10
  100. + del PBMTOXBM
  101. + del PBMTOYBM
  102. + del PBMTOZIN
  103. + del PBMUPC
  104. + del PI3TOPBM
  105. + del XBMTOPBM
  106. + del YBMTOPBM
  107. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/exepbm.bat pbmplus.new/pbm/exepbm.bat
  108. *** pbmplus.old/pbm/exepbm.bat
  109. --- pbmplus.new/pbm/exepbm.bat    Fri Apr 12 22:46:26 1991
  110. ***************
  111. *** 0 ****
  112. --- 1,36 ----
  113. + copy /b c:\gcc\bin\stub.exe+BRUSHTOP    BRUSHTOP.exe
  114. + copy /b c:\gcc\bin\stub.exe+CMUWMTOP    CMUWMTOP.exe
  115. + copy /b c:\gcc\bin\stub.exe+G3TOPBM     G3TOPBM.exe
  116. + copy /b c:\gcc\bin\stub.exe+GEMTOPBM    GEMTOPBM.exe
  117. + copy /b c:\gcc\bin\stub.exe+ICONTOPB    ICONTOPB.exe
  118. + copy /b c:\gcc\bin\stub.exe+MACPTOPB    MACPTOPB.exe
  119. + copy /b c:\gcc\bin\stub.exe+MGRTOPBM    MGRTOPBM.exe
  120. + copy /b c:\gcc\bin\stub.exe+PBMLIFE     PBMLIFE.exe
  121. + copy /b c:\gcc\bin\stub.exe+PBMMAKE     PBMMAKE.exe
  122. + copy /b c:\gcc\bin\stub.exe+PBMMASK     PBMMASK.exe
  123. + copy /b c:\gcc\bin\stub.exe+PBMPASTE    PBMPASTE.exe
  124. + copy /b c:\gcc\bin\stub.exe+PBMREDUC    PBMREDUC.exe
  125. + copy /b c:\gcc\bin\stub.exe+PBMTEXT     PBMTEXT.exe
  126. + copy /b c:\gcc\bin\stub.exe+PBMTO10X    PBMTO10X.exe
  127. + copy /b c:\gcc\bin\stub.exe+PBMTOASC    PBMTOASC.exe
  128. + copy /b c:\gcc\bin\stub.exe+PBMTOBBN    PBMTOBBN.exe
  129. + copy /b c:\gcc\bin\stub.exe+PBMTOCMU    PBMTOCMU.exe
  130. + copy /b c:\gcc\bin\stub.exe+PBMTOEPS    PBMTOEPS.exe
  131. + copy /b c:\gcc\bin\stub.exe+PBMTOG3     PBMTOG3.exe
  132. + copy /b c:\gcc\bin\stub.exe+PBMTOGEM    PBMTOGEM.exe
  133. + copy /b c:\gcc\bin\stub.exe+PBMTOGO     PBMTOGO.exe
  134. + copy /b c:\gcc\bin\stub.exe+PBMTOICO    PBMTOICO.exe
  135. + copy /b c:\gcc\bin\stub.exe+PBMTOLJ     PBMTOLJ.exe
  136. + copy /b c:\gcc\bin\stub.exe+PBMTOMAC    PBMTOMAC.exe
  137. + copy /b c:\gcc\bin\stub.exe+PBMTOMGR    PBMTOMGR.exe
  138. + copy /b c:\gcc\bin\stub.exe+PBMTOPI3    PBMTOPI3.exe
  139. + copy /b c:\gcc\bin\stub.exe+PBMTOPLO    PBMTOPLO.exe
  140. + copy /b c:\gcc\bin\stub.exe+PBMTOPTX    PBMTOPTX.exe
  141. + copy /b c:\gcc\bin\stub.exe+PBMTOX10    PBMTOX10.exe
  142. + copy /b c:\gcc\bin\stub.exe+PBMTOXBM    PBMTOXBM.exe
  143. + copy /b c:\gcc\bin\stub.exe+PBMTOYBM    PBMTOYBM.exe
  144. + copy /b c:\gcc\bin\stub.exe+PBMTOZIN    PBMTOZIN.exe
  145. + copy /b c:\gcc\bin\stub.exe+PBMUPC      PBMUPC.exe
  146. + copy /b c:\gcc\bin\stub.exe+PI3TOPBM    PI3TOPBM.exe
  147. + copy /b c:\gcc\bin\stub.exe+XBMTOPBM    XBMTOPBM.exe
  148. + copy /b c:\gcc\bin\stub.exe+YBMTOPBM    YBMTOPBM.exe
  149. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/g3topbm.c pbmplus.new/pbm/g3topbm.c
  150. *** pbmplus.old/pbm/g3topbm.c    Fri Apr 12 00:30:30 1991
  151. --- pbmplus.new/pbm/g3topbm.c    Sat Jun 15 10:52:50 1991
  152. ***************
  153. *** 76,81 ****
  154. --- 76,84 ----
  155.       if ( argn != argc )
  156.       pm_usage( usage );
  157.   
  158. +     setmode( fileno( ifp ), O_BINARY );
  159. +     setmode( fileno( stdout ), O_BINARY );
  160.       eols = 0;
  161.   
  162.       if ( kludge )
  163. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/gemtopbm.c pbmplus.new/pbm/gemtopbm.c
  164. *** pbmplus.old/pbm/gemtopbm.c    Fri Apr 12 00:30:32 1991
  165. --- pbmplus.new/pbm/gemtopbm.c    Sat Jun 15 20:40:00 1991
  166. ***************
  167. *** 112,117 ****
  168. --- 112,120 ----
  169.   
  170.       f = pm_openr( argv[1] );
  171.   
  172. +     setmode( fileno( f ), O_BINARY );
  173. +     setmode( fileno( stdout ), O_BINARY );
  174.       if (fread(&hd, sizeof hd, 1, f) != 1)
  175.           pm_perror( "read" );
  176.   
  177. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/icontopb.c pbmplus.new/pbm/icontopb.c
  178. *** pbmplus.old/pbm/icontopb.c    Fri Apr 12 00:30:28 1991
  179. --- pbmplus.new/pbm/icontopb.c    Sat Jun 15 10:55:26 1991
  180. ***************
  181. *** 31,36 ****
  182. --- 31,39 ----
  183.       else
  184.       ifp = stdin;
  185.   
  186. +     setmode( fileno( ifp ), O_BINARY );
  187. +     setmode( fileno( stdout ), O_BINARY );
  188.       ReadIconFile( ifp, &cols, &rows, &data );
  189.   
  190.       pm_close( ifp );
  191. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/imakefil pbmplus.new/pbm/imakefil
  192. *** pbmplus.old/pbm/imakefil    Fri Apr 12 00:30:28 1991
  193. --- pbmplus.new/pbm/imakefil
  194. ***************
  195. *** 1,64 ****
  196. - # Imakefile for pbm tools.
  197. - #
  198. - # Copyright (C) 1989, 1991 by Jef Poskanzer.
  199. - #
  200. - # Permission to use, copy, modify, and distribute this software and its
  201. - # documentation for any purpose and without fee is hereby granted, provided
  202. - # that the above copyright notice appear in all copies and that both that
  203. - # copyright notice and this permission notice appear in supporting
  204. - # documentation.  This software is provided "as is" without express or
  205. - # implied warranty.
  206. - ALLCFLAGS =    $(CFLAGS)
  207. - LIBPBM =    libpbm.a
  208. - BINARIES =    brushtopbm cmuwmtopbm g3topbm icontopbm gemtopbm \
  209. -         macptopbm mgrtopbm pbmlife pbmmake pbmmask \
  210. -         pbmpaste pbmreduce pbmtext pbmto10x pbmtoascii \
  211. -         pbmtobbnbg pbmtocmuwm pbmtoepson pbmtog3 \
  212. -         pbmtogem pbmtogo pbmtoicon pbmtolj pbmtomacp \
  213. -         pbmtomgr pbmtopi3 pbmtoplot pbmtoptx \
  214. -         pbmtox10bm pbmtoxbm pbmtoybm pbmtozinc \
  215. -         pbmupc pi3topbm xbmtopbm \
  216. -         ybmtopbm
  217. - MANUALS1 =    brushtopbm.1 cmuwmtopbm.1 g3topbm.1 icontopbm.1 gemtopbm.1 \
  218. -         macptopbm.1 mgrtopbm.1 pbmlife.1 pbmmake.1 pbmmask.1 \
  219. -         pbmpaste.1 pbmreduce.1 pbmtext.1 pbmto10x.1 pbmtoascii.1 \
  220. -         pbmtobbnbg.1 pbmtocmuwm.1 pbmtoepson.1  pbmtog3.1 \
  221. -         pbmtogem.1 pbmtogo.1 pbmtoicon.1 pbmtolj.1 pbmtomacp.1 \
  222. -         pbmtomgr.1 pbmtopi3.1 pbmtoplot.1 pbmtoptx.1 \
  223. -         pbmtox10bm.1 pbmtoxbm.1 pbmtoybm.1 pbmtozinc.1 \
  224. -         pbmupc.1 pi3topbm.1 xbmtopbm.1 \
  225. -         ybmtopbm.1
  226. - MANUALS3 =    libpbm.3
  227. - MANUALS5 =    pbm.5
  228. - all:        $(BINARIES)
  229. - install::    all
  230. -     cp $(BINARIES) $(BINDIR)
  231. - install.man::
  232. -     cp $(MANUALS1) $(MANUALS3) $(MANUALS5) $(MANDIR)
  233. - # Rule for plain programs.
  234. - $(BINARIES):    pbm.h ../pbmplus.h $(LIBPBM)
  235. -     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPBM)
  236. - # And library.
  237. - $(LIBPBM):    libpbm1.o libpbm2.o libpbm3.o libpbm4.o libpbm5.o
  238. -     -rm $(LIBPBM)
  239. -     $(AR) $(LIBPBM) libpbm1.o libpbm2.o libpbm3.o libpbm4.o libpbm5.o
  240. -     -$(RANLIB) $(LIBPBM)
  241. - libpbm1.o:    pbm.h ../pbmplus.h libpbm.h libpbm1.c
  242. -     $(CC) $(ALLCFLAGS) -c libpbm1.c
  243. - libpbm2.o:    pbm.h ../pbmplus.h libpbm.h libpbm2.c
  244. -     $(CC) $(ALLCFLAGS) -c libpbm2.c
  245. - libpbm3.o:    pbm.h ../pbmplus.h libpbm.h libpbm3.c
  246. -     $(CC) $(ALLCFLAGS) -c libpbm3.c
  247. - libpbm4.o:    pbm.h ../pbmplus.h libpbm.h libpbm4.c
  248. -     $(CC) $(ALLCFLAGS) -c libpbm4.c
  249. - libpbm5.o:    pbm.h ../pbmplus.h pbmfont.h libpbm5.c
  250. -     $(CC) $(ALLCFLAGS) -c libpbm5.c
  251. --- 0 ----
  252. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/macptopb.c pbmplus.new/pbm/macptopb.c
  253. *** pbmplus.old/pbm/macptopb.c    Fri Apr 12 00:30:28 1991
  254. --- pbmplus.new/pbm/macptopb.c    Sat Jun 15 10:46:16 1991
  255. ***************
  256. *** 53,58 ****
  257. --- 53,61 ----
  258.       if ( argn != argc )
  259.       pm_usage( usage );
  260.   
  261. +     setmode( fileno( ifp ), O_BINARY );
  262. +     setmode( fileno( stdout ), O_BINARY );
  263.       ReadMacPaintFile( ifp, extraskip, &scanLine, Pic );
  264.   
  265.       pm_close( ifp );
  266. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/makefile pbmplus.new/pbm/makefile
  267. *** pbmplus.old/pbm/makefile    Fri Apr 12 00:30:28 1991
  268. --- pbmplus.new/pbm/makefile    Fri Jul 19 18:15:08 1991
  269. ***************
  270. *** 1,3 ****
  271. --- 1,4 ----
  272. + .SUFFIXES:    .out .o .c .e .r
  273.   # Makefile for pbm tools.
  274.   #
  275.   # Copyright (C) 1989, 1991 by Jef Poskanzer.
  276. ***************
  277. *** 10,22 ****
  278.   # implied warranty.
  279.   
  280.   # Default values, usually overridden by top-level Makefile.
  281. ! CC =        cc
  282. ! #CC =        gcc -fcombine-regs -fpcc-struct-return
  283. ! #CFLAGS =    -O
  284. ! CFLAGS =    -g
  285.   #CFLAGS =    -g -O
  286. ! #LDFLAGS =    -s
  287. ! LDFLAGS =    
  288.   INSTALLBINARIES =    /usr/new/pbm
  289.   INSTALLMANUALS1 =    /usr/man/man1
  290.   SUFFIXMANUALS1 =    1
  291. --- 11,23 ----
  292.   # implied warranty.
  293.   
  294.   # Default values, usually overridden by top-level Makefile.
  295. ! #CC =         cc
  296. ! CC =       gcc -fcombine-regs 
  297. ! CFLAGS =   -O
  298. ! #CFLAGS =     -g
  299.   #CFLAGS =    -g -O
  300. ! LDFLAGS =  -s
  301. ! #LDFLAGS =     
  302.   INSTALLBINARIES =    /usr/new/pbm
  303.   INSTALLMANUALS1 =    /usr/man/man1
  304.   SUFFIXMANUALS1 =    1
  305. ***************
  306. *** 26,32 ****
  307.   SUFFIXMANUALS5 =    5
  308.   MANCP =            cp
  309.   
  310. ! SHELL =        /bin/sh
  311.   ALLCFLAGS =    $(CFLAGS)
  312.   LIBPBM =    libpbm.a
  313.   
  314. --- 27,33 ----
  315.   SUFFIXMANUALS5 =    5
  316.   MANCP =            cp
  317.   
  318. ! SHELL =     command   
  319.   ALLCFLAGS =    $(CFLAGS)
  320.   LIBPBM =    libpbm.a
  321.   
  322. ***************
  323. *** 56,63 ****
  324.   
  325.   
  326.   all:        binaries
  327.   
  328.   binaries:    $(BINARIES)
  329.   
  330.   installbinaries:    binaries
  331. --- 57,65 ----
  332.   
  333.   
  334.   all:        binaries
  335. +             command /c exepbm
  336. +             command /c delpbm
  337.   
  338.   binaries:    $(BINARIES)
  339.   
  340.   installbinaries:    binaries
  341. ***************
  342. *** 61,80 ****
  343.   binaries:    $(BINARIES)
  344.   
  345.   installbinaries:    binaries
  346. !     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  347.       cp $(BINARIES) $(INSTALLBINARIES)
  348.   
  349.   
  350.   merge:        pbmmerge
  351.   pbmmerge:    pbmmerge.c $(OBJECTS) $(LIBPBM)
  352. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) $(LIBPBM)
  353.   
  354.   installmerge:    installpbmmerge
  355.   installpbmmerge:    pbmmerge
  356. !     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  357.       cp pbmmerge $(INSTALLBINARIES)
  358.       cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pbmmerge $$i ; done
  359. !     rm $(INSTALLBINARIES)/pbmmerge
  360.   
  361.   
  362.   installmanuals:
  363. --- 63,82 ----
  364.   binaries:    $(BINARIES)
  365.   
  366.   installbinaries:    binaries
  367. !     cd $(INSTALLBINARIES) ; -command /c rm -f $(BINARIES)
  368.       cp $(BINARIES) $(INSTALLBINARIES)
  369.   
  370.   
  371.   merge:        pbmmerge
  372.   pbmmerge:    pbmmerge.c $(OBJECTS) $(LIBPBM)
  373. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @pbmmerge.lst         
  374.   
  375.   installmerge:    installpbmmerge
  376.   installpbmmerge:    pbmmerge
  377. !     cd $(INSTALLBINARIES) ; command /c rm -f $(BINARIES)
  378.       cp pbmmerge $(INSTALLBINARIES)
  379.       cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pbmmerge $$i ; done
  380. !     command /c rm $(INSTALLBINARIES)/pbmmerge
  381.   
  382.   
  383.   installmanuals:
  384. ***************
  385. *** 85,91 ****
  386.   
  387.   # Rules for plain programs.
  388.   $(BINARIES):    pbm.h ../pbmplus.h $(LIBPBM)
  389. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPBM)
  390.   $(OBJECTS):    pbm.h ../pbmplus.h
  391.       $(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c
  392.   
  393. --- 87,93 ----
  394.   
  395.   # Rules for plain programs.
  396.   $(BINARIES):    pbm.h ../pbmplus.h $(LIBPBM)
  397. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @pbmall.lst
  398.   $(OBJECTS):    pbm.h ../pbmplus.h
  399.       $(CC) $(ALLCFLAGS) "-Dmain=$*_main" -c $*.c
  400.   
  401. ***************
  402. *** 92,100 ****
  403.   # And library.
  404.   lib:        $(LIBPBM)
  405.   $(LIBPBM):    libpbm1.o libpbm2.o libpbm3.o libpbm4.o libpbm5.o
  406. !     -rm $(LIBPBM)
  407.       ar rc $(LIBPBM) libpbm1.o libpbm2.o libpbm3.o libpbm4.o libpbm5.o
  408. -     -ranlib $(LIBPBM)
  409.   
  410.   libpbm1.o:    pbm.h ../pbmplus.h libpbm.h libpbm1.c
  411.       $(CC) $(ALLCFLAGS) -c libpbm1.c
  412. --- 94,101 ----
  413.   # And library.
  414.   lib:        $(LIBPBM)
  415.   $(LIBPBM):    libpbm1.o libpbm2.o libpbm3.o libpbm4.o libpbm5.o
  416. !     -command /c rm $(LIBPBM)
  417.       ar rc $(LIBPBM) libpbm1.o libpbm2.o libpbm3.o libpbm4.o libpbm5.o
  418.   
  419.   libpbm1.o:    pbm.h ../pbmplus.h libpbm.h libpbm1.c
  420.       $(CC) $(ALLCFLAGS) -c libpbm1.c
  421. ***************
  422. *** 146,152 ****
  423.   ybmtopbm ybmtopbm.o:        ybmtopbm.c
  424.   
  425.   clean:
  426. !     -rm -f *.o *.a *.cat core $(BINARIES) pbmmerge
  427.   
  428.   
  429.   # Imakefile stuff.  Ignore if you're not an X11 type.
  430. --- 147,153 ----
  431.   ybmtopbm ybmtopbm.o:        ybmtopbm.c
  432.   
  433.   clean:
  434. !     -command /c rm -f *.o *.a *.cat core $(BINARIES) pbmmerge
  435.   
  436.   
  437.   # Imakefile stuff.  Ignore if you're not an X11 type.
  438. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/mgrtopbm.c pbmplus.new/pbm/mgrtopbm.c
  439. *** pbmplus.old/pbm/mgrtopbm.c    Fri Apr 12 00:30:32 1991
  440. --- pbmplus.new/pbm/mgrtopbm.c    Sat Jun 15 10:59:38 1991
  441. ***************
  442. *** 34,39 ****
  443. --- 34,42 ----
  444.       else
  445.       ifp = stdin;
  446.   
  447. +     setmode( fileno( ifp ), O_BINARY );
  448. +     setmode( fileno( stdout ), O_BINARY );
  449.       getinit( ifp, &cols, &rows, &depth, &padright );
  450.       if ( depth != 1 )
  451.       pm_error( "MGR file has depth of %d, must be 1", depth, 0,0,0,0 );
  452. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmall.lst pbmplus.new/pbm/pbmall.lst
  453. *** pbmplus.old/pbm/pbmall.lst
  454. --- pbmplus.new/pbm/pbmall.lst    Thu Jul 18 18:22:04 1991
  455. ***************
  456. *** 0 ****
  457. --- 1 ----
  458. + libpbm.a
  459. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmlife.c pbmplus.new/pbm/pbmlife.c
  460. *** pbmplus.old/pbm/pbmlife.c    Fri Apr 12 00:30:32 1991
  461. --- pbmplus.new/pbm/pbmlife.c    Sat Jun 15 10:59:02 1991
  462. ***************
  463. *** 30,35 ****
  464. --- 30,38 ----
  465.       else
  466.       ifp = stdin;
  467.   
  468. +     setmode( fileno( ifp ), O_BINARY );
  469. +     setmode( fileno( stdout ), O_BINARY );
  470.       bits = pbm_readpbm( ifp, &cols, &rows );
  471.       pbm_writepbminit( stdout, cols, rows, 0 );
  472.       bitrow = pbm_allocrow( cols );
  473. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmmake.c pbmplus.new/pbm/pbmmake.c
  474. *** pbmplus.old/pbm/pbmmake.c    Fri Apr 12 00:30:30 1991
  475. --- pbmplus.new/pbm/pbmmake.c    Sat Jun 15 20:50:52 1991
  476. ***************
  477. *** 55,60 ****
  478. --- 55,62 ----
  479.       if ( argn != argc )
  480.       pm_usage( usage );
  481.   
  482. +     setmode( fileno( stdout ), O_BINARY );
  483.       pbm_writepbminit( stdout, cols, rows, 0 );
  484.       bitrow = pbm_allocrow( cols );
  485.   
  486. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmmask.c pbmplus.new/pbm/pbmmask.c
  487. *** pbmplus.old/pbm/pbmmask.c    Fri Apr 12 00:30:36 1991
  488. --- pbmplus.new/pbm/pbmmask.c    Sat Jun 15 10:46:46 1991
  489. ***************
  490. *** 55,60 ****
  491. --- 55,63 ----
  492.       if ( argn != argc )
  493.       pm_usage( usage );
  494.   
  495. +     setmode( fileno( ifp ), O_BINARY );
  496. +     setmode( fileno( stdout ), O_BINARY );
  497.       bits = pbm_readpbm( ifp, &cols, &rows );
  498.       pm_close( ifp );
  499.       mask = pbm_allocarray( cols, rows );
  500. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmmerge.c pbmplus.new/pbm/pbmmerge.c
  501. *** pbmplus.old/pbm/pbmmerge.c    Fri Apr 12 00:30:36 1991
  502. --- pbmplus.new/pbm/pbmmerge.c    Thu Jul 18 20:47:04 1991
  503. ***************
  504. *** 28,69 ****
  505.   
  506.   #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) m( argc, argv ); }
  507.   
  508. !     TRY( "brushtopbm", brushtopbm_main );
  509. !     TRY( "cmuwmtopbm", cmuwmtopbm_main );
  510. !     TRY( "g3topbm", g3topbm_main );
  511. !     TRY( "icontopbm", icontopbm_main );
  512. !     TRY( "gemtopbm", gemtopbm_main );
  513. !     TRY( "macptopbm", macptopbm_main );
  514. !     TRY( "mgrtopbm", mgrtopbm_main );
  515. !     TRY( "pbmlife", pbmlife_main );
  516. !     TRY( "pbmmake", pbmmake_main );
  517. !     TRY( "pbmmask", pbmmask_main );
  518. !     TRY( "pbmpaste", pbmpaste_main );
  519. !     TRY( "pbmreduce", pbmreduce_main );
  520. !     TRY( "pbmtext", pbmtext_main );
  521. !     TRY( "pbmto10x", pbmto10x_main );
  522. !     TRY( "pbmtoascii", pbmtoascii_main );
  523. !     TRY( "pbmtobbnbg", pbmtobbnbg_main );
  524. !     TRY( "pbmtocmuwm", pbmtocmuwm_main );
  525. !     TRY( "pbmtoepson", pbmtoepson_main );
  526. !     TRY( "pbmtog3", pbmtog3_main );
  527. !     TRY( "pbmtogem", pbmtogem_main );
  528. !     TRY( "pbmtogo", pbmtogo_main );
  529. !     TRY( "pbmtoicon", pbmtoicon_main );
  530. !     TRY( "pbmtolj", pbmtolj_main );
  531. !     TRY( "pbmtomacp", pbmtomacp_main );
  532. !     TRY( "pbmtomgr", pbmtomgr_main );
  533. !     TRY( "pbmtopi3", pbmtopi3_main );
  534. !     TRY( "pbmtoplot", pbmtoplot_main );
  535. !     TRY( "pbmtoptx", pbmtoptx_main );
  536. !     TRY( "pbmtox10bm", pbmtox10bm_main );
  537. !     TRY( "pbmtoxbm", pbmtoxbm_main );
  538. !     TRY( "pbmtoybm", pbmtoybm_main );
  539. !     TRY( "pbmtozinc", pbmtozinc_main );
  540. !     TRY( "pbmupc", pbmupc_main );
  541. !     TRY( "pi3topbm", pi3topbm_main );
  542. !     TRY( "xbmtopbm", xbmtopbm_main );
  543. !     TRY( "ybmtopbm", ybmtopbm_main );
  544.   
  545.       (void) fprintf(
  546.       stderr, "pbmmerge: \"%s\" is an unknown PBM program!\n", cp );
  547. --- 28,69 ----
  548.   
  549.   #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) m( argc, argv ); }
  550.   
  551. !     TRY( "brushtop.exe", brushtopbm_main );
  552. !     TRY( "cmuwmtop.exe", cmuwmtopbm_main );
  553. !     TRY( "g3topbm.exe", g3topbm_main );
  554. !     TRY( "icontopb.exe", icontopbm_main );
  555. !     TRY( "gemtopbm.exe", gemtopbm_main );
  556. !     TRY( "macptopb.exe", macptopbm_main );
  557. !     TRY( "mgrtopbm.exe", mgrtopbm_main );
  558. !     TRY( "pbmlife.exe", pbmlife_main );
  559. !     TRY( "pbmmake.exe", pbmmake_main );
  560. !     TRY( "pbmmask.exe", pbmmask_main );
  561. !     TRY( "pbmpaste.exe", pbmpaste_main );
  562. !     TRY( "pbmreduc.exe", pbmreduce_main );
  563. !     TRY( "pbmtext.exe", pbmtext_main );
  564. !     TRY( "pbmto10x.exe", pbmto10x_main );
  565. !     TRY( "pbmtoasc.exe", pbmtoascii_main );
  566. !     TRY( "pbmtobbn.exe", pbmtobbnbg_main );
  567. !     TRY( "pbmtocmu.exe", pbmtocmuwm_main );
  568. !     TRY( "pbmtoeps.exe", pbmtoepson_main );
  569. !     TRY( "pbmtog3.exe", pbmtog3_main );
  570. !     TRY( "pbmtogem.exe", pbmtogem_main );
  571. !     TRY( "pbmtogo.exe", pbmtogo_main );
  572. !     TRY( "pbmtoico.exe", pbmtoicon_main );
  573. !     TRY( "pbmtolj.exe", pbmtolj_main );
  574. !     TRY( "pbmtomac.exe", pbmtomacp_main );
  575. !     TRY( "pbmtomgr.exe", pbmtomgr_main );
  576. !     TRY( "pbmtopi3.exe", pbmtopi3_main );
  577. !     TRY( "pbmtoplo.exe", pbmtoplot_main );
  578. !     TRY( "pbmtoptx.exe", pbmtoptx_main );
  579. !     TRY( "pbmtox10.exe", pbmtox10bm_main );
  580. !     TRY( "pbmtoxbm.exe", pbmtoxbm_main );
  581. !     TRY( "pbmtoybm.exe", pbmtoybm_main );
  582. !     TRY( "pbmtozin.exe", pbmtozinc_main );
  583. !     TRY( "pbmupc.exe", pbmupc_main );
  584. !     TRY( "pi3topbm.exe", pi3topbm_main );
  585. !     TRY( "xbmtopbm.exe", xbmtopbm_main );
  586. !     TRY( "ybmtopbm.exe", ybmtopbm_main );
  587.   
  588.       (void) fprintf(
  589.       stderr, "pbmmerge: \"%s\" is an unknown PBM program!\n", cp );
  590. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmmerge.lst pbmplus.new/pbm/pbmmerge.lst
  591. *** pbmplus.old/pbm/pbmmerge.lst
  592. --- pbmplus.new/pbm/pbmmerge.lst    Thu Jul 18 20:44:16 1991
  593. ***************
  594. *** 0 ****
  595. --- 1,37 ----
  596. + brushtop.o
  597. + cmuwmtop.o
  598. + g3topbm.o
  599. + icontopb.o
  600. + gemtopbm.o
  601. + macptopb.o
  602. + mgrtopbm.o
  603. + pbmlife.o
  604. + pbmmake.o
  605. + pbmmask.o
  606. + pbmpaste.o
  607. + pbmreduc.o
  608. + pbmtext.o
  609. + pbmto10x.o
  610. + pbmtoasc.o
  611. + pbmtobbn.o
  612. + pbmtocmu.o
  613. + pbmtoeps.o
  614. + pbmtog3.o
  615. + pbmtogem.o
  616. + pbmtogo.o
  617. + pbmtoico.o
  618. + pbmtolj.o
  619. + pbmtomac.o
  620. + pbmtomgr.o
  621. + pbmtopi3.o
  622. + pbmtoplo.o
  623. + pbmtoptx.o
  624. + pbmtox10.o
  625. + pbmtoxbm.o
  626. + pbmtoybm.o
  627. + pbmtozin.o
  628. + pbmupc.o
  629. + pi3topbm.o
  630. + xbmtopbm.o
  631. + ybmtopbm.o
  632. + libpbm.a
  633. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmpaste.c pbmplus.new/pbm/pbmpaste.c
  634. *** pbmplus.old/pbm/pbmpaste.c    Fri Apr 12 00:30:30 1991
  635. --- pbmplus.new/pbm/pbmpaste.c    Sat Jun 15 10:54:20 1991
  636. ***************
  637. *** 72,77 ****
  638. --- 72,82 ----
  639.       ifp2 = pm_openr( argv[argn] );
  640.       ++argn;
  641.       }
  642. +     setmode( fileno( ifp1 ), O_BINARY );
  643. +     setmode( fileno( ifp2 ), O_BINARY );
  644. +     setmode( fileno( stdout ), O_BINARY );
  645.       bits2 = pbm_readpbm( ifp2, &cols2, &rows2 );
  646.       pm_close( ifp2 );
  647.   
  648. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmreduc.c pbmplus.new/pbm/pbmreduc.c
  649. *** pbmplus.old/pbm/pbmreduc.c    Fri Apr 12 00:30:32 1991
  650. --- pbmplus.new/pbm/pbmreduc.c    Sat Jun 15 11:00:08 1991
  651. ***************
  652. *** 75,80 ****
  653. --- 75,83 ----
  654.       if ( argn != argc )
  655.       pm_usage( usage );
  656.   
  657. +     setmode( fileno( ifp ), O_BINARY );
  658. +     setmode( fileno( stdout ), O_BINARY );
  659.       pbm_readpbminit( ifp, &cols, &rows, &format );
  660.       bitslice = pbm_allocarray( cols, n );
  661.   
  662. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtext.c pbmplus.new/pbm/pbmtext.c
  663. *** pbmplus.old/pbm/pbmtext.c    Fri Apr 12 00:30:34 1991
  664. --- pbmplus.new/pbm/pbmtext.c    Sat Jun 15 10:58:44 1991
  665. ***************
  666. *** 52,57 ****
  667. --- 52,58 ----
  668.           if ( argn == argc )
  669.           pm_usage( usage );
  670.           ifp = pm_openr( argv[argn] );
  671. +         setmode( fileno( ifp ), O_BINARY );
  672.           pbm_freearray( font, frows );
  673.           font = pbm_readpbm( ifp, &fcols, &frows );
  674.           pm_close( ifp );
  675. ***************
  676. *** 63,68 ****
  677. --- 64,72 ----
  678.           pm_usage( usage );
  679.       ++argn;
  680.       }
  681. +     setmode( fileno( ifp ), O_BINARY );
  682. +     setmode( fileno( stdout ), O_BINARY );
  683.   
  684.       if ( dump )
  685.       {
  686. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmto10x.c pbmplus.new/pbm/pbmto10x.c
  687. *** pbmplus.old/pbm/pbmto10x.c    Fri Apr 12 00:30:36 1991
  688. --- pbmplus.new/pbm/pbmto10x.c    Sat Jun 15 10:48:06 1991
  689. ***************
  690. *** 37,42 ****
  691. --- 37,45 ----
  692.       else
  693.           ifp = stdin;
  694.   
  695. +     setmode( fileno( ifp ), O_BINARY );
  696. +     setmode( fileno( stdout ), O_BINARY );
  697.       pbm_readpbminit(ifp, &cols, &rows, &format);
  698.       if (highres)
  699.           res_120x144();
  700. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtoasc.c pbmplus.new/pbm/pbmtoasc.c
  701. *** pbmplus.old/pbm/pbmtoasc.c    Fri Apr 12 00:30:30 1991
  702. --- pbmplus.new/pbm/pbmtoasc.c    Sat Jun 15 10:52:58 1991
  703. ***************
  704. *** 30,35 ****
  705. --- 30,38 ----
  706.       else
  707.       ifp = stdin;
  708.   
  709. +     setmode( fileno( ifp ), O_BINARY );
  710. +     setmode( fileno( stdout ), O_BINARY );
  711.       bits = pbm_readpbm( ifp, &cols, &rows );
  712.   
  713.       pm_close( ifp );
  714. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtobbn.c pbmplus.new/pbm/pbmtobbn.c
  715. *** pbmplus.old/pbm/pbmtobbn.c    Fri Apr 12 00:30:36 1991
  716. --- pbmplus.new/pbm/pbmtobbn.c    Sat Jun 15 10:56:06 1991
  717. ***************
  718. *** 37,42 ****
  719. --- 37,45 ----
  720.   
  721.    pbm_init( &argc, argv );
  722.   
  723. +     setmode( fileno( stdin ), O_BINARY );
  724. +     setmode( fileno( stdout ), O_BINARY );
  725.    op = 3;
  726.    switch (argc)
  727.     { case 1:
  728. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtocmu.c pbmplus.new/pbm/pbmtocmu.c
  729. *** pbmplus.old/pbm/pbmtocmu.c    Fri Apr 12 00:30:34 1991
  730. --- pbmplus.new/pbm/pbmtocmu.c    Sat Jun 15 10:58:50 1991
  731. ***************
  732. *** 33,38 ****
  733. --- 33,41 ----
  734.       else
  735.       ifp = stdin;
  736.   
  737. +     setmode( fileno( ifp ), O_BINARY );
  738. +     setmode( fileno( stdout ), O_BINARY );
  739.       pbm_readpbminit( ifp, &cols, &rows, &format );
  740.       bitrow = pbm_allocrow( cols );
  741.       
  742. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtoeps.c pbmplus.new/pbm/pbmtoeps.c
  743. *** pbmplus.old/pbm/pbmtoeps.c    Fri Apr 12 00:30:36 1991
  744. --- pbmplus.new/pbm/pbmtoeps.c    Sat Jun 15 10:46:40 1991
  745. ***************
  746. *** 37,42 ****
  747. --- 37,45 ----
  748.       else
  749.       ifp = stdin;
  750.   
  751. +     setmode( fileno( ifp ), O_BINARY );
  752. +     setmode( fileno( stdout ), O_BINARY );
  753.       bits = pbm_readpbm( ifp, &cols, &rows );
  754.   
  755.       pm_close( ifp );
  756. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtog3.c pbmplus.new/pbm/pbmtog3.c
  757. *** pbmplus.old/pbm/pbmtog3.c    Fri Apr 12 00:30:32 1991
  758. --- pbmplus.new/pbm/pbmtog3.c    Sat Jun 15 11:01:22 1991
  759. ***************
  760. *** 52,57 ****
  761. --- 52,60 ----
  762.       if ( argn != argc )
  763.       pm_usage( usage );
  764.   
  765. +     setmode( fileno( ifp ), O_BINARY );
  766. +     setmode( fileno( stdout ), O_BINARY );
  767.       pbm_readpbminit( ifp, &cols, &rows, &format );
  768.       bigcols = max( 1728, cols );
  769.       bitrow = pbm_allocrow( bigcols );
  770. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtogem.c pbmplus.new/pbm/pbmtogem.c
  771. *** pbmplus.old/pbm/pbmtogem.c    Fri Apr 12 00:30:36 1991
  772. --- pbmplus.new/pbm/pbmtogem.c    Sat Jun 15 10:47:08 1991
  773. ***************
  774. *** 60,65 ****
  775. --- 60,68 ----
  776.       else
  777.       ifp = stdin;
  778.   
  779. +     setmode( fileno( ifp ), O_BINARY );
  780. +     setmode( fileno( stdout ), O_BINARY );
  781.       pbm_readpbminit( ifp, &cols, &rows, &format );
  782.       
  783.       if (cols > MAXCOL * 16)
  784. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtogo.c pbmplus.new/pbm/pbmtogo.c
  785. *** pbmplus.old/pbm/pbmtogo.c    Fri Apr 12 00:30:32 1991
  786. --- pbmplus.new/pbm/pbmtogo.c    Sat Jun 15 10:59:32 1991
  787. ***************
  788. *** 77,82 ****
  789. --- 77,85 ----
  790.       else
  791.       ifd = stdin;
  792.   
  793. +     setmode( fileno( ifd ), O_BINARY );
  794. +     setmode( fileno( stdout ), O_BINARY );
  795.       pbm_readpbminit(ifd, &cols, &rows, &format);
  796.       bitrow = pbm_allocrow(cols);
  797.   
  798. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtoico.c pbmplus.new/pbm/pbmtoico.c
  799. *** pbmplus.old/pbm/pbmtoico.c    Fri Apr 12 00:30:30 1991
  800. --- pbmplus.new/pbm/pbmtoico.c    Sat Jun 15 10:54:58 1991
  801. ***************
  802. *** 32,37 ****
  803. --- 32,40 ----
  804.       else
  805.       ifp = stdin;
  806.   
  807. +     setmode( fileno( ifp ), O_BINARY );
  808. +     setmode( fileno( stdout ), O_BINARY );
  809.       pbm_readpbminit( ifp, &cols, &rows, &format );
  810.       bitrow = pbm_allocrow( cols );
  811.       
  812. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtolj.c pbmplus.new/pbm/pbmtolj.c
  813. *** pbmplus.old/pbm/pbmtolj.c    Fri Apr 12 00:30:30 1991
  814. --- pbmplus.new/pbm/pbmtolj.c    Sat Jun 15 10:52:18 1991
  815. ***************
  816. *** 65,70 ****
  817. --- 65,73 ----
  818.       else
  819.       ifp = stdin;
  820.   
  821. +     setmode( fileno( ifp ), O_BINARY );
  822. +     setmode( fileno( stdout ), O_BINARY );
  823.       if ( argn != argc )
  824.       pm_usage( usage );
  825.   
  826. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtomac.c pbmplus.new/pbm/pbmtomac.c
  827. *** pbmplus.old/pbm/pbmtomac.c    Fri Apr 12 00:30:32 1991
  828. --- pbmplus.new/pbm/pbmtomac.c    Sat Jun 15 11:01:50 1991
  829. ***************
  830. *** 83,88 ****
  831. --- 83,91 ----
  832.     if ( argn != argc )
  833.       pm_usage( usage );
  834.   
  835. +   setmode( fileno( ifp ), O_BINARY );
  836. +   setmode( fileno( stdout ), O_BINARY );
  837.     bitsr = pbm_readpbm( ifp, &cols, &rows );
  838.   
  839.     pm_close( ifp );
  840. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtomgr.c pbmplus.new/pbm/pbmtomgr.c
  841. *** pbmplus.old/pbm/pbmtomgr.c    Fri Apr 12 00:30:36 1991
  842. --- pbmplus.new/pbm/pbmtomgr.c    Sat Jun 15 10:48:18 1991
  843. ***************
  844. *** 33,38 ****
  845. --- 33,41 ----
  846.       else
  847.       ifp = stdin;
  848.   
  849. +     setmode( fileno( ifp ), O_BINARY );
  850. +     setmode( fileno( stdout ), O_BINARY );
  851.       pbm_readpbminit( ifp, &cols, &rows, &format );
  852.       bitrow = pbm_allocrow( cols );
  853.       
  854. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtopi3.c pbmplus.new/pbm/pbmtopi3.c
  855. *** pbmplus.old/pbm/pbmtopi3.c    Fri Apr 12 00:30:36 1991
  856. --- pbmplus.new/pbm/pbmtopi3.c    Sat Jun 15 10:46:52 1991
  857. ***************
  858. *** 36,41 ****
  859. --- 36,44 ----
  860.       else
  861.       ifp = stdin;
  862.   
  863. +     setmode( fileno( ifp ), O_BINARY );
  864. +     setmode( fileno( stdout ), O_BINARY );
  865.       pbm_readpbminit( ifp, &cols, &rows, &format );
  866.       if (cols > 640)
  867.       cols = 640;
  868. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtoplo.c pbmplus.new/pbm/pbmtoplo.c
  869. *** pbmplus.old/pbm/pbmtoplo.c    Fri Apr 12 00:30:32 1991
  870. --- pbmplus.new/pbm/pbmtoplo.c    Sat Jun 15 11:00:38 1991
  871. ***************
  872. *** 37,42 ****
  873. --- 37,45 ----
  874.   
  875.       ifp = (argc == 2) ? pm_openr( argv[1] ) : stdin;
  876.   
  877. +     setmode( fileno( ifp ), O_BINARY );
  878. +     setmode( fileno( stdout ), O_BINARY );
  879.       bits = pbm_readpbm( ifp, &cols, &rows );
  880.   
  881.       pm_close( ifp );
  882. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtoptx.c pbmplus.new/pbm/pbmtoptx.c
  883. *** pbmplus.old/pbm/pbmtoptx.c    Fri Apr 12 00:30:30 1991
  884. --- pbmplus.new/pbm/pbmtoptx.c    Sat Jun 15 10:55:04 1991
  885. ***************
  886. *** 33,38 ****
  887. --- 33,41 ----
  888.       else
  889.       ifp = stdin;
  890.   
  891. +     setmode( fileno( ifp ), O_BINARY );
  892. +     setmode( fileno( stdout ), O_BINARY );
  893.       pbm_readpbminit( ifp, &cols, &rows, &format );
  894.       bitrow = pbm_allocrow( cols );
  895.   
  896. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtox10.c pbmplus.new/pbm/pbmtox10.c
  897. *** pbmplus.old/pbm/pbmtox10.c    Fri Apr 12 00:30:30 1991
  898. --- pbmplus.new/pbm/pbmtox10.c    Sat Jun 15 10:54:28 1991
  899. ***************
  900. *** 49,54 ****
  901. --- 49,57 ----
  902.       strcpy( name, "noname" );
  903.       }
  904.   
  905. +     setmode( fileno( ifp ), O_BINARY );
  906. +     setmode( fileno( stdout ), O_BINARY );
  907.       pbm_readpbminit( ifp, &cols, &rows, &format );
  908.       bitrow = pbm_allocrow( cols );
  909.   
  910. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtoxbm.c pbmplus.new/pbm/pbmtoxbm.c
  911. *** pbmplus.old/pbm/pbmtoxbm.c    Fri Apr 12 00:30:30 1991
  912. --- pbmplus.new/pbm/pbmtoxbm.c    Sat Jun 15 10:54:52 1991
  913. ***************
  914. *** 49,54 ****
  915. --- 49,57 ----
  916.       strcpy( name, "noname" );
  917.       }
  918.   
  919. +     setmode( fileno( ifp ), O_BINARY );
  920. +     setmode( fileno( stdout ), O_BINARY );
  921.       pbm_readpbminit( ifp, &cols, &rows, &format );
  922.       bitrow = pbm_allocrow( cols );
  923.       
  924. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtoybm.c pbmplus.new/pbm/pbmtoybm.c
  925. *** pbmplus.old/pbm/pbmtoybm.c    Fri Apr 12 00:30:36 1991
  926. --- pbmplus.new/pbm/pbmtoybm.c    Sat Jun 15 10:47:16 1991
  927. ***************
  928. *** 36,41 ****
  929. --- 36,44 ----
  930.       else
  931.       ifp = stdin;
  932.   
  933. +     setmode( fileno( ifp ), O_BINARY );
  934. +     setmode( fileno( stdout ), O_BINARY );
  935.       pbm_readpbminit( ifp, &cols, &rows, &format );
  936.       bitrow = pbm_allocrow( cols );
  937.       
  938. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmtozin.c pbmplus.new/pbm/pbmtozin.c
  939. *** pbmplus.old/pbm/pbmtozin.c    Fri Apr 12 00:30:36 1991
  940. --- pbmplus.new/pbm/pbmtozin.c    Sat Jun 15 10:46:30 1991
  941. ***************
  942. *** 59,64 ****
  943. --- 59,67 ----
  944.       strcpy( name, "noname" );
  945.       }
  946.   
  947. +     setmode( fileno( ifp ), O_BINARY );
  948. +     setmode( fileno( stdout ), O_BINARY );
  949.       pbm_readpbminit( ifp, &cols, &rows, &format );
  950.       bitrow = pbm_allocrow( cols );
  951.   
  952. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pbmupc.c pbmplus.new/pbm/pbmupc.c
  953. *** pbmplus.old/pbm/pbmupc.c    Fri Apr 12 00:30:34 1991
  954. --- pbmplus.new/pbm/pbmupc.c    Sat Jun 15 21:01:54 1991
  955. ***************
  956. *** 63,68 ****
  957. --- 63,70 ----
  958.       if ( argn != argc )
  959.       pm_usage( usage );
  960.   
  961. +     setmode( fileno( stdout ), O_BINARY );
  962.       if ( strlen( typecode ) != 1 || ( ! alldig( typecode ) ) ||
  963.        strlen( manufcode ) != 5 || ( ! alldig ( manufcode ) ) ||
  964.        strlen( prodcode ) != 5 || ( ! alldig ( prodcode ) ) )
  965. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/pi3topbm.c pbmplus.new/pbm/pi3topbm.c
  966. *** pbmplus.old/pbm/pi3topbm.c    Fri Apr 12 00:30:36 1991
  967. --- pbmplus.new/pbm/pi3topbm.c    Sat Jun 15 11:00:56 1991
  968. ***************
  969. *** 61,66 ****
  970. --- 61,69 ----
  971.       else
  972.           pm_usage("[-d] [pi3file]");
  973.   
  974. +     setmode( fileno( f ), O_BINARY );
  975. +     setmode( fileno( stdout ), O_BINARY );
  976.       if (fread(&hd, sizeof hd, 1, f) != 1)
  977.           pm_perror( "read" );
  978.   
  979. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/xbmtopbm.c pbmplus.new/pbm/xbmtopbm.c
  980. *** pbmplus.old/pbm/xbmtopbm.c    Fri Apr 12 00:30:28 1991
  981. --- pbmplus.new/pbm/xbmtopbm.c    Sat Jun 15 10:46:58 1991
  982. ***************
  983. *** 31,36 ****
  984. --- 31,39 ----
  985.       else
  986.       ifp = stdin;
  987.   
  988. +     setmode( fileno( ifp ), O_BINARY );
  989. +     setmode( fileno( stdout ), O_BINARY );
  990.       ReadBitmapFile( ifp, &cols, &rows, &data );
  991.   
  992.       pm_close( ifp );
  993. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbm/ybmtopbm.c pbmplus.new/pbm/ybmtopbm.c
  994. *** pbmplus.old/pbm/ybmtopbm.c    Fri Apr 12 00:30:36 1991
  995. --- pbmplus.new/pbm/ybmtopbm.c    Sat Jun 15 10:55:16 1991
  996. ***************
  997. *** 36,41 ****
  998. --- 36,44 ----
  999.       else
  1000.       ifp = stdin;
  1001.   
  1002. +     setmode( fileno( ifp ), O_BINARY );
  1003. +     setmode( fileno( stdout ), O_BINARY );
  1004.       getinit( ifp, &cols, &rows, &depth, &padright );
  1005.       if ( depth != 1 )
  1006.       pm_error(
  1007. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pbmplus.h pbmplus.new/pbmplus.h
  1008. *** pbmplus.old/pbmplus.h    Fri Apr 12 00:30:52 1991
  1009. --- pbmplus.new/pbmplus.h    Wed Jul 17 20:24:34 1991
  1010. ***************
  1011. *** 16,21 ****
  1012. --- 16,22 ----
  1013.   #include <sys/types.h>
  1014.   #include <ctype.h>
  1015.   #include <stdio.h>
  1016. + #include <fcntl.h>
  1017.   
  1018.   #if ! ( defined(BSD) || defined(SYSV) || defined(MSDOS))
  1019.   /* CONFIGURE: If your system is >= 4.2BSD, set the BSD option; if you're a
  1020. ***************
  1021. *** 106,114 ****
  1022.   ** that point here, feel free to tweak or remove these declarations.
  1023.   */
  1024.   #include <malloc.h>
  1025. ! extern char* malloc();
  1026.   extern char* realloc();
  1027. ! extern char* calloc();
  1028.   
  1029.   /* End of configurable definitions. */
  1030.   
  1031. --- 107,115 ----
  1032.   ** that point here, feel free to tweak or remove these declarations.
  1033.   */
  1034.   #include <malloc.h>
  1035. ! /* extern char* malloc();
  1036.   extern char* realloc();
  1037. ! extern char* calloc(); */
  1038.   
  1039.   /* End of configurable definitions. */
  1040.   
  1041. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/delpgm.bat pbmplus.new/pgm/delpgm.bat
  1042. *** pbmplus.old/pgm/delpgm.bat
  1043. --- pbmplus.new/pgm/delpgm.bat    Fri Apr 12 22:47:50 1991
  1044. ***************
  1045. *** 0 ****
  1046. --- 1,18 ----
  1047. + del FITSTOPG
  1048. + del FSTOPGM
  1049. + del HIPSTOPG
  1050. + del LISPMTOP
  1051. + del PGMBENTL
  1052. + del PGMEDGE
  1053. + del PGMENHAN
  1054. + del PGMHIST
  1055. + del PGMNORM
  1056. + del PGMOIL
  1057. + del PGMRAMP
  1058. + del PGMTOFIT
  1059. + del PGMTOFS
  1060. + del PGMTOLIS
  1061. + del PGMTOPBM
  1062. + del PGMTOPS
  1063. + del PSIDTOPG
  1064. + del RAWTOPGM
  1065. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/exepgm.bat pbmplus.new/pgm/exepgm.bat
  1066. *** pbmplus.old/pgm/exepgm.bat
  1067. --- pbmplus.new/pgm/exepgm.bat    Fri Apr 12 22:48:48 1991
  1068. ***************
  1069. *** 0 ****
  1070. --- 1,18 ----
  1071. + copy /b c:\gcc\bin\stub.exe+FITSTOPG     FITSTOPG.exe
  1072. + copy /b c:\gcc\bin\stub.exe+FSTOPGM      FSTOPGM.exe
  1073. + copy /b c:\gcc\bin\stub.exe+HIPSTOPG     HIPSTOPG.exe
  1074. + copy /b c:\gcc\bin\stub.exe+LISPMTOP     LISPMTOP.exe
  1075. + copy /b c:\gcc\bin\stub.exe+PGMBENTL     PGMBENTL.exe
  1076. + copy /b c:\gcc\bin\stub.exe+PGMEDGE      PGMEDGE.exe
  1077. + copy /b c:\gcc\bin\stub.exe+PGMENHAN     PGMENHAN.exe
  1078. + copy /b c:\gcc\bin\stub.exe+PGMHIST      PGMHIST.exe
  1079. + copy /b c:\gcc\bin\stub.exe+PGMNORM      PGMNORM.exe
  1080. + copy /b c:\gcc\bin\stub.exe+PGMOIL       PGMOIL.exe
  1081. + copy /b c:\gcc\bin\stub.exe+PGMRAMP      PGMRAMP.exe
  1082. + copy /b c:\gcc\bin\stub.exe+PGMTOFIT     PGMTOFIT.exe
  1083. + copy /b c:\gcc\bin\stub.exe+PGMTOFS      PGMTOFS.exe
  1084. + copy /b c:\gcc\bin\stub.exe+PGMTOLIS     PGMTOLIS.exe
  1085. + copy /b c:\gcc\bin\stub.exe+PGMTOPBM     PGMTOPBM.exe
  1086. + copy /b c:\gcc\bin\stub.exe+PGMTOPS      PGMTOPS.exe
  1087. + copy /b c:\gcc\bin\stub.exe+PSIDTOPG     PSIDTOPG.exe
  1088. + copy /b c:\gcc\bin\stub.exe+RAWTOPGM     RAWTOPGM.exe
  1089. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/fitstopg.c pbmplus.new/pgm/fitstopg.c
  1090. *** pbmplus.old/pgm/fitstopg.c    Fri Apr 12 00:30:56 1991
  1091. --- pbmplus.new/pgm/fitstopg.c    Sat Jun 15 20:21:46 1991
  1092. ***************
  1093. *** 69,74 ****
  1094. --- 69,77 ----
  1095.       if ( argn != argc )
  1096.       pm_usage( usage );
  1097.   
  1098. +     setmode( fileno( ifp ), O_BINARY );
  1099. +     setmode( fileno( stdout ), O_BINARY );
  1100.       read_fits_header( ifp, &h );
  1101.   
  1102.       if ( ! h.simple )
  1103. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/fstopgm.c pbmplus.new/pgm/fstopgm.c
  1104. *** pbmplus.old/pgm/fstopgm.c    Fri Apr 12 00:30:54 1991
  1105. --- pbmplus.new/pgm/fstopgm.c    Sat Jun 15 20:28:02 1991
  1106. ***************
  1107. *** 39,44 ****
  1108. --- 39,47 ----
  1109.       else
  1110.       ifp = stdin;
  1111.   
  1112. +     setmode( fileno( ifp ), O_BINARY );
  1113. +     setmode( fileno( stdout ), O_BINARY );
  1114.       if ( argn != argc )
  1115.       pm_usage( "[fsfile]" );
  1116.   
  1117. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/hipstopg.c pbmplus.new/pgm/hipstopg.c
  1118. *** pbmplus.old/pgm/hipstopg.c    Fri Apr 12 00:30:54 1991
  1119. --- pbmplus.new/pgm/hipstopg.c    Sat Jun 15 20:26:12 1991
  1120. ***************
  1121. *** 63,68 ****
  1122. --- 63,71 ----
  1123.       if ( argn != argc )
  1124.       pm_usage( "[hipsfile]" );
  1125.   
  1126. +     setmode( fileno( ifp ), O_BINARY );
  1127. +     setmode( fileno( stdout ), O_BINARY );
  1128.       read_hips_header( ifp, &h );
  1129.   
  1130.       cols = h.cols;
  1131. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/lispmtop.c pbmplus.new/pgm/lispmtop.c
  1132. *** pbmplus.old/pgm/lispmtop.c    Fri Apr 12 00:30:56 1991
  1133. --- pbmplus.new/pgm/lispmtop.c    Sat Jun 15 20:25:44 1991
  1134. ***************
  1135. *** 45,50 ****
  1136. --- 45,53 ----
  1137.       else
  1138.       ifp = stdin;
  1139.   
  1140. +     setmode( fileno( ifp ), O_BINARY );
  1141. +     setmode( fileno( stdout ), O_BINARY );
  1142.       getinit( ifp, &cols, &rows, &depth, &padright );
  1143.       maxval = 1 << depth;
  1144.   
  1145. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/makefile pbmplus.new/pgm/makefile
  1146. *** pbmplus.old/pgm/makefile    Fri Apr 12 00:30:54 1991
  1147. --- pbmplus.new/pgm/makefile    Fri Jul 19 18:16:14 1991
  1148. ***************
  1149. *** 1,3 ****
  1150. --- 1,4 ----
  1151. + .SUFFIXES:    .out .o .c .e .r
  1152.   # Makefile for pgm tools.
  1153.   #
  1154.   # Copyright (C) 1989, 1991 by Jef Poskanzer.
  1155. ***************
  1156. *** 10,22 ****
  1157.   # implied warranty.
  1158.   
  1159.   # Default values, usually overridden by top-level Makefile.
  1160. ! CC =        cc
  1161. ! #CC =        gcc -fcombine-regs -fpcc-struct-return
  1162. ! #CFLAGS =    -O
  1163. ! CFLAGS =    -g
  1164.   #CFLAGS =    -g -O
  1165. ! #LDFLAGS =    -s
  1166. ! LDFLAGS =    
  1167.   INSTALLBINARIES =    /usr/new/pbm
  1168.   INSTALLMANUALS1 =    /usr/man/man1
  1169.   SUFFIXMANUALS1 =    1
  1170. --- 11,23 ----
  1171.   # implied warranty.
  1172.   
  1173.   # Default values, usually overridden by top-level Makefile.
  1174. ! #CC =         cc
  1175. ! CC =       gcc -fcombine-regs
  1176. ! CFLAGS =   -O
  1177. ! #CFLAGS =     -g
  1178.   #CFLAGS =    -g -O
  1179. ! LDFLAGS =  -s
  1180. ! #LDFLAGS =     
  1181.   INSTALLBINARIES =    /usr/new/pbm
  1182.   INSTALLMANUALS1 =    /usr/man/man1
  1183.   SUFFIXMANUALS1 =    1
  1184. ***************
  1185. *** 32,38 ****
  1186.   DEFPBM =    $(PBMDIR)/pbm.h ../pbmplus.h
  1187.   DEFLIBPBM =    $(PBMDIR)/libpbm.h
  1188.   
  1189. ! SHELL =        /bin/sh
  1190.   INCLUDE =    $(INCLUDEPBM)
  1191.   ALLCFLAGS =    $(CFLAGS) $(INCLUDE)
  1192.   LIBPGM =    libpgm.a
  1193. --- 33,39 ----
  1194.   DEFPBM =    $(PBMDIR)/pbm.h ../pbmplus.h
  1195.   DEFLIBPBM =    $(PBMDIR)/libpbm.h
  1196.   
  1197. ! SHELL =     command
  1198.   INCLUDE =    $(INCLUDEPBM)
  1199.   ALLCFLAGS =    $(CFLAGS) $(INCLUDE)
  1200.   LIBPGM =    libpgm.a
  1201. ***************
  1202. *** 60,79 ****
  1203.   binaries:    $(BINARIES)
  1204.   
  1205.   installbinaries:    binaries
  1206. !     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  1207.       cp $(BINARIES) $(INSTALLBINARIES)
  1208.   
  1209.   
  1210.   merge:        pgmmerge
  1211.   pgmmerge:    pgmmerge.c $(OBJECTS) $(LIBPGM) $(LIBPBM)
  1212. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPGM) $(LIBPBM)
  1213.   
  1214.   installmerge:    installpgmmerge
  1215.   installpgmmerge:    pgmmerge
  1216. !     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  1217.       cp pgmmerge $(INSTALLBINARIES)
  1218.       cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pgmmerge $$i ; done
  1219. !     rm $(INSTALLBINARIES)/pgmmerge
  1220.   
  1221.   
  1222.   installmanuals:
  1223. --- 61,80 ----
  1224.   binaries:    $(BINARIES)
  1225.   
  1226.   installbinaries:    binaries
  1227. !     cd $(INSTALLBINARIES) ; command /c rm -f $(BINARIES)
  1228.       cp $(BINARIES) $(INSTALLBINARIES)
  1229.   
  1230.   
  1231.   merge:        pgmmerge
  1232.   pgmmerge:    pgmmerge.c $(OBJECTS) $(LIBPGM) $(LIBPBM)
  1233. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @pgmmerge.lst -lm 
  1234.   
  1235.   installmerge:    installpgmmerge
  1236.   installpgmmerge:    pgmmerge
  1237. !     cd $(INSTALLBINARIES) ; command /c rm -f $(BINARIES)
  1238.       cp pgmmerge $(INSTALLBINARIES)
  1239.       cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pgmmerge $$i ; done
  1240. !     command /c rm $(INSTALLBINARIES)/pgmmerge
  1241.   
  1242.   
  1243.   installmanuals:
  1244. ***************
  1245. *** 84,94 ****
  1246.   
  1247.   # Rule for plain programs.
  1248.   $(PORTBINARIES):    pgm.h $(DEFPBM) $(LIBPGM) $(LIBPBM)
  1249. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPGM) $(LIBPBM)
  1250.   
  1251.   # Rule for math-dependent programs.
  1252.   $(MATHBINARIES):    pgm.h $(DEFPBM) $(LIBPGM) $(LIBPBM)
  1253. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c -lm $(LIBPGM) $(LIBPBM)
  1254.   
  1255.   # Rule for objects.
  1256.   $(OBJECTS):    pgm.h $(DEFPBM)
  1257. --- 85,95 ----
  1258.   
  1259.   # Rule for plain programs.
  1260.   $(PORTBINARIES):    pgm.h $(DEFPBM) $(LIBPGM) $(LIBPBM)
  1261. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @pgmall.lst
  1262.   
  1263.   # Rule for math-dependent programs.
  1264.   $(MATHBINARIES):    pgm.h $(DEFPBM) $(LIBPGM) $(LIBPBM)
  1265. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @pgmall.lst -lm 
  1266.   
  1267.   # Rule for objects.
  1268.   $(OBJECTS):    pgm.h $(DEFPBM)
  1269. ***************
  1270. *** 99,107 ****
  1271.       cd $(PBMDIR) ; make lib
  1272.   lib:        $(LIBPGM)
  1273.   $(LIBPGM):    libpgm1.o libpgm2.o
  1274. !     -rm $(LIBPGM)
  1275.       ar rc $(LIBPGM) libpgm1.o libpgm2.o
  1276. -     -ranlib $(LIBPGM)
  1277.   
  1278.   libpgm1.o:    pgm.h $(DEFPBM) libpgm.h libpgm1.c
  1279.       $(CC) $(ALLCFLAGS) -c libpgm1.c
  1280. --- 100,107 ----
  1281.       cd $(PBMDIR) ; make lib
  1282.   lib:        $(LIBPGM)
  1283.   $(LIBPGM):    libpgm1.o libpgm2.o
  1284. !     -command /c rm $(LIBPGM)
  1285.       ar rc $(LIBPGM) libpgm1.o libpgm2.o
  1286.   
  1287.   libpgm1.o:    pgm.h $(DEFPBM) libpgm.h libpgm1.c
  1288.       $(CC) $(ALLCFLAGS) -c libpgm1.c
  1289. ***************
  1290. *** 129,135 ****
  1291.   rawtopgm rawtopgm.o:        rawtopgm.c
  1292.   
  1293.   clean:
  1294. !     -rm -f *.o *.a *.cat core $(BINARIES) pgmmerge
  1295.   
  1296.   
  1297.   # Imakefile stuff.  Ignore if you're not an X11 type.
  1298. --- 129,135 ----
  1299.   rawtopgm rawtopgm.o:        rawtopgm.c
  1300.   
  1301.   clean:
  1302. !     -command /c rm -f *.o *.a *.cat core $(BINARIES) pgmmerge
  1303.   
  1304.   
  1305.   # Imakefile stuff.  Ignore if you're not an X11 type.
  1306. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmall.lst pbmplus.new/pgm/pgmall.lst
  1307. *** pbmplus.old/pgm/pgmall.lst
  1308. --- pbmplus.new/pgm/pgmall.lst    Thu Jul 18 18:38:10 1991
  1309. ***************
  1310. *** 0 ****
  1311. --- 1,2 ----
  1312. + libpgm.a
  1313. + ../pbm/libpbm.a
  1314. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmbentl.c pbmplus.new/pgm/pgmbentl.c
  1315. *** pbmplus.old/pgm/pgmbentl.c    Fri Apr 12 00:30:58 1991
  1316. --- pbmplus.new/pgm/pgmbentl.c    Sat Jun 15 20:25:16 1991
  1317. ***************
  1318. *** 40,45 ****
  1319. --- 40,48 ----
  1320.       if ( argn != argc )
  1321.       pm_usage( usage );
  1322.   
  1323. +     setmode( fileno( ifp ), O_BINARY );
  1324. +     setmode( fileno( stdout ), O_BINARY );
  1325.       gin = pgm_readpgm( ifp, &cols, &rows, &maxval );
  1326.       pm_close( ifp );
  1327.       gout = pgm_allocarray( cols, rows );
  1328. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmedge.c pbmplus.new/pgm/pgmedge.c
  1329. *** pbmplus.old/pgm/pgmedge.c    Fri Apr 12 00:30:58 1991
  1330. --- pbmplus.new/pgm/pgmedge.c    Sat Jun 15 20:25:06 1991
  1331. ***************
  1332. *** 42,47 ****
  1333. --- 42,50 ----
  1334.   
  1335.       pgm_pbmmaxval = 255;    /* use larger value for better results */
  1336.   
  1337. +     setmode( fileno( ifp ), O_BINARY );
  1338. +     setmode( fileno( stdout ), O_BINARY );
  1339.       pgm_readpgminit( ifp, &cols, &rows, &maxval, &format );
  1340.       if ( cols < 3 || rows < 3 )
  1341.       pm_error( "the image is too small", 0,0,0,0,0 );
  1342. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmenhan.c pbmplus.new/pgm/pgmenhan.c
  1343. *** pbmplus.old/pgm/pgmenhan.c    Fri Apr 12 00:30:54 1991
  1344. --- pbmplus.new/pgm/pgmenhan.c    Sat Jun 15 20:24:50 1991
  1345. ***************
  1346. *** 50,55 ****
  1347. --- 50,58 ----
  1348.       if ( argn != argc )
  1349.       pm_usage( usage );
  1350.   
  1351. +     setmode( fileno( ifp ), O_BINARY );
  1352. +     setmode( fileno( stdout ), O_BINARY );
  1353.       pgm_pbmmaxval = 255;    /* use a larger value for better (?) results */
  1354.       grays = pgm_readpgm( ifp, &cols, &rows, &maxval );
  1355.   
  1356. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmhist.c pbmplus.new/pgm/pgmhist.c
  1357. *** pbmplus.old/pgm/pgmhist.c    Fri Apr 12 00:30:56 1991
  1358. --- pbmplus.new/pgm/pgmhist.c    Sat Jun 15 20:24:34 1991
  1359. ***************
  1360. *** 39,44 ****
  1361. --- 39,47 ----
  1362.       if ( argn != argc )
  1363.       pm_usage( usage );
  1364.   
  1365. +     setmode( fileno( ifp ), O_BINARY );
  1366. +     setmode( fileno( stdout ), O_BINARY );
  1367.       pgm_readpgminit( ifp, &cols, &rows, &maxval, &format );
  1368.       grayrow = pgm_allocrow( cols );
  1369.   
  1370. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmmerge.c pbmplus.new/pgm/pgmmerge.c
  1371. *** pbmplus.old/pgm/pgmmerge.c    Fri Apr 12 00:30:58 1991
  1372. --- pbmplus.new/pgm/pgmmerge.c    Thu Jul 18 21:04:22 1991
  1373. ***************
  1374. *** 28,51 ****
  1375.   
  1376.   #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) m( argc, argv ); }
  1377.   
  1378. !     TRY("fitstopgm", fitstopgm_main);
  1379. !     TRY("fstopgm", fstopgm_main);
  1380. !     TRY("hipstopgm", hipstopgm_main);
  1381. !     TRY("lispmtopgm", lispmtopgm_main);
  1382. !     TRY("pgmbentley", pgmbentley_main);
  1383. !     TRY("pgmedge", pgmedge_main);
  1384. !     TRY("pgmenhance", pgmenhance_main);
  1385. !     TRY("pgmhist", pgmhist_main);
  1386. !     TRY("pgmnorm", pgmnorm_main);
  1387. !     TRY("pgmoil", pgmoil_main);
  1388. !     TRY("pgmramp", pgmramp_main);
  1389. !     TRY("pgmtopbm", pgmtopbm_main);
  1390. !     TRY("pgmtofits", pgmtofits_main);
  1391. !     TRY("pgmtofs", pgmtofs_main);
  1392. !     TRY("pgmtolispm", pgmtolispm_main);
  1393. !     TRY("pgmtops", pgmtops_main);
  1394. !     TRY("psidtopgm", psidtopgm_main);
  1395. !     TRY("rawtopgm", rawtopgm_main);
  1396.   
  1397.       (void) fprintf(
  1398.       stderr, "pgmmerge: \"%s\" is an unknown PGM program!\n", cp );
  1399. --- 28,51 ----
  1400.   
  1401.   #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) m( argc, argv ); }
  1402.   
  1403. !     TRY("fitstopg.exe", fitstopgm_main);
  1404. !     TRY("fstopgm.exe", fstopgm_main);
  1405. !     TRY("hipstopg.exe", hipstopgm_main);
  1406. !     TRY("lispmtop.exe", lispmtopgm_main);
  1407. !     TRY("pgmbentl.exe", pgmbentley_main);
  1408. !     TRY("pgmedge.exe", pgmedge_main);
  1409. !     TRY("pgmenhan.exe", pgmenhance_main);
  1410. !     TRY("pgmhist.exe", pgmhist_main);
  1411. !     TRY("pgmnorm.exe", pgmnorm_main);
  1412. !     TRY("pgmoil.exe", pgmoil_main);
  1413. !     TRY("pgmramp.exe", pgmramp_main);
  1414. !     TRY("pgmtopbm.exe", pgmtopbm_main);
  1415. !     TRY("pgmtofit.exe", pgmtofits_main);
  1416. !     TRY("pgmtofs.exe", pgmtofs_main);
  1417. !     TRY("pgmtolis.exe", pgmtolispm_main);
  1418. !     TRY("pgmtops.exe", pgmtops_main);
  1419. !     TRY("psidtopg.exe", psidtopgm_main);
  1420. !     TRY("rawtopgm.exe", rawtopgm_main);
  1421.   
  1422.       (void) fprintf(
  1423.       stderr, "pgmmerge: \"%s\" is an unknown PGM program!\n", cp );
  1424. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmmerge.lst pbmplus.new/pgm/pgmmerge.lst
  1425. *** pbmplus.old/pgm/pgmmerge.lst
  1426. --- pbmplus.new/pgm/pgmmerge.lst    Thu Jul 18 21:02:20 1991
  1427. ***************
  1428. *** 0 ****
  1429. --- 1,20 ----
  1430. + fitstopg.o
  1431. + fstopgm.o
  1432. + hipstopg.o
  1433. + lispmtop.o
  1434. + pgmbentl.o
  1435. + pgmenhan.o
  1436. + pgmhist.o
  1437. + pgmnorm.o
  1438. + pgmoil.o
  1439. + pgmramp.o
  1440. + pgmtopbm.o
  1441. + pgmtofit.o
  1442. + pgmtofs.o
  1443. + pgmtolis.o
  1444. + pgmtops.o
  1445. + psidtopg.o
  1446. + rawtopgm.o
  1447. + pgmedge.o
  1448. + libpgm.a
  1449. + ../pbm/libpbm.a
  1450. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmnorm.c pbmplus.new/pgm/pgmnorm.c
  1451. *** pbmplus.old/pgm/pgmnorm.c    Fri Apr 12 00:30:56 1991
  1452. --- pbmplus.new/pgm/pgmnorm.c    Sat Jun 15 20:24:22 1991
  1453. ***************
  1454. *** 106,111 ****
  1455. --- 106,114 ----
  1456.       if ( argn != argc )
  1457.       pm_usage( usage );
  1458.   
  1459. +     setmode( fileno( ifp ), O_BINARY );
  1460. +     setmode( fileno( stdout ), O_BINARY );
  1461.       if ( specbvalue && specwvalue )
  1462.       {
  1463.       /* Rescale so that bvalue maps to 0, wvalue maps to maxval. */
  1464. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmoil.c pbmplus.new/pgm/pgmoil.c
  1465. *** pbmplus.old/pgm/pgmoil.c    Fri Apr 12 00:30:58 1991
  1466. --- pbmplus.new/pgm/pgmoil.c    Sat Jun 15 20:24:06 1991
  1467. ***************
  1468. *** 55,60 ****
  1469. --- 55,63 ----
  1470.       else
  1471.       ifp = stdin;
  1472.   
  1473. +     setmode( fileno( ifp ), O_BINARY );
  1474. +     setmode( fileno( stdout ), O_BINARY );
  1475.       if ( argn != argc )
  1476.       pm_usage( usage );
  1477.   
  1478. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmramp.c pbmplus.new/pgm/pgmramp.c
  1479. *** pbmplus.old/pgm/pgmramp.c    Fri Apr 12 00:30:56 1991
  1480. --- pbmplus.new/pgm/pgmramp.c    Sat Jun 15 21:20:18 1991
  1481. ***************
  1482. *** 51,56 ****
  1483. --- 51,58 ----
  1484.       colso2 = cols / 2;
  1485.       rowso2 = rows / 2;
  1486.   
  1487. +     setmode( fileno( stdout ), O_BINARY );
  1488.       pgm_writepgminit( stdout, cols, rows, PGM_MAXMAXVAL, 0 );
  1489.       grayrow = pgm_allocrow( cols );
  1490.   
  1491. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmtofit.c pbmplus.new/pgm/pgmtofit.c
  1492. *** pbmplus.old/pgm/pgmtofit.c    Fri Apr 12 00:30:54 1991
  1493. --- pbmplus.new/pgm/pgmtofit.c    Sat Jun 15 20:23:48 1991
  1494. ***************
  1495. *** 37,42 ****
  1496. --- 37,45 ----
  1497.       if ( argn != argc )
  1498.       pm_usage( "[pgmfile]" );
  1499.   
  1500. +     setmode( fileno( ifp ), O_BINARY );
  1501. +     setmode( fileno( stdout ), O_BINARY );
  1502.       pgm_readpgminit( ifp, &cols, &rows, &maxval, &format );
  1503.       if ( maxval > 255 )
  1504.       pm_error( "maxval (%d) is greater than maximum of 255", maxval, 0,0,0,0 );
  1505. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmtofs.c pbmplus.new/pgm/pgmtofs.c
  1506. *** pbmplus.old/pgm/pgmtofs.c    Fri Apr 12 00:30:58 1991
  1507. --- pbmplus.new/pgm/pgmtofs.c    Sat Jun 15 20:23:42 1991
  1508. ***************
  1509. *** 41,46 ****
  1510. --- 41,49 ----
  1511.       if ( argn != argc )
  1512.       pm_usage( usage );
  1513.   
  1514. +     setmode( fileno( ifp ), O_BINARY );
  1515. +     setmode( fileno( stdout ), O_BINARY );
  1516.       grays = pgm_readpgm( ifp, &cols, &rows, &maxval );
  1517.       pm_close( ifp );
  1518.   
  1519. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmtolis.c pbmplus.new/pgm/pgmtolis.c
  1520. *** pbmplus.old/pgm/pgmtolis.c    Fri Apr 12 00:30:56 1991
  1521. --- pbmplus.new/pgm/pgmtolis.c    Sat Jun 15 20:23:24 1991
  1522. ***************
  1523. *** 42,47 ****
  1524. --- 42,50 ----
  1525.       else
  1526.       ifp = stdin;
  1527.   
  1528. +     setmode( fileno( ifp ), O_BINARY );
  1529. +     setmode( fileno( stdout ), O_BINARY );
  1530.       pgm_readpgminit( ifp, &cols, &rows, &maxval, &format );
  1531.       grayrow = pgm_allocrow( cols );
  1532.       depth = pm_maxvaltobits( maxval );
  1533. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmtopbm.c pbmplus.new/pgm/pgmtopbm.c
  1534. *** pbmplus.old/pgm/pgmtopbm.c    Fri Apr 12 00:30:56 1991
  1535. --- pbmplus.new/pgm/pgmtopbm.c    Sat Jun 15 20:23:00 1991
  1536. ***************
  1537. *** 90,95 ****
  1538. --- 90,98 ----
  1539.       if ( argn != argc )
  1540.       pm_usage( usage );
  1541.   
  1542. +     setmode( fileno( ifp ), O_BINARY );
  1543. +     setmode( fileno( stdout ), O_BINARY );
  1544.       pgm_readpgminit( ifp, &cols, &rows, &maxval, &format );
  1545.       grayrow = pgm_allocrow( cols );
  1546.   
  1547. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/pgmtops.c pbmplus.new/pgm/pgmtops.c
  1548. *** pbmplus.old/pgm/pgmtops.c    Fri Apr 12 00:30:56 1991
  1549. --- pbmplus.new/pgm/pgmtops.c    Sat Jun 15 20:22:46 1991
  1550. ***************
  1551. *** 73,78 ****
  1552. --- 73,81 ----
  1553.       if ( argn != argc )
  1554.       pm_usage( usage );
  1555.   
  1556. +     setmode( fileno( ifp ), O_BINARY );
  1557. +     setmode( fileno( stdout ), O_BINARY );
  1558.       pgm_readpgminit( ifp, &cols, &rows, &maxval, &format );
  1559.       grayrow = pgm_allocrow( cols );
  1560.   
  1561. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/psidtopg.c pbmplus.new/pgm/psidtopg.c
  1562. *** pbmplus.old/pgm/psidtopg.c    Fri Apr 12 00:30:56 1991
  1563. --- pbmplus.new/pgm/psidtopg.c    Sat Jun 15 20:22:26 1991
  1564. ***************
  1565. *** 50,55 ****
  1566. --- 50,58 ----
  1567.       if ( argn != argc )
  1568.       pm_usage( usage );
  1569.   
  1570. +     setmode( fileno( ifp ), O_BINARY );
  1571. +     setmode( fileno( stdout ), O_BINARY );
  1572.       maxval = pm_bitstomaxval( bitspersample );
  1573.       if ( maxval > PGM_MAXMAXVAL )
  1574.       pm_error(
  1575. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pgm/rawtopgm.c pbmplus.new/pgm/rawtopgm.c
  1576. *** pbmplus.old/pgm/rawtopgm.c    Fri Apr 12 00:30:54 1991
  1577. --- pbmplus.new/pgm/rawtopgm.c    Sat Jun 15 20:21:58 1991
  1578. ***************
  1579. *** 77,82 ****
  1580. --- 77,85 ----
  1581.        "maxval of 255 is too large - try recompiling with a larger gray type",
  1582.        0,0,0,0,0 );
  1583.   
  1584. +     setmode( fileno( ifp ), O_BINARY );
  1585. +     setmode( fileno( stdout ), O_BINARY );
  1586.       pgm_writepgminit( stdout, cols, rows, (gray) 255, 0 );
  1587.       grayrow = pgm_allocrow( cols );
  1588.       for ( i = 0; i < headerskip; ++i )
  1589. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/bitrever.h pbmplus.new/pnm/bitrever.h
  1590. *** pbmplus.old/pnm/bitrever.h
  1591. --- pbmplus.new/pnm/bitrever.h    Fri Apr 12 00:30:32 1991
  1592. ***************
  1593. *** 0 ****
  1594. --- 1,44 ----
  1595. + /*
  1596. + ** bitreverse.h
  1597. + **
  1598. + ** This particular array seems to be useful in a lot of bitmap
  1599. + ** conversion programs.  It's not used in pbm because bits are
  1600. + ** stored one per byte, for easier manipulation.  But if you wanted
  1601. + ** to write, for example, a program to directly convert Sun raster
  1602. + ** format into X bitmaps, you could use this.
  1603. + **
  1604. + ** Of course, you could also use this fairly slick chunk of code:
  1605. + **
  1606. + **     c = ((c >>  1) & 0x55) | ((c <<  1) & 0xaa);
  1607. + **     c = ((c >>  2) & 0x33) | ((c <<  2) & 0xcc);
  1608. + **     c = ((c >>  4) & 0x0f) | ((c <<  4) & 0xf0);
  1609. + */
  1610. + #ifndef _BITR_H_
  1611. + #define _BITR_H_
  1612. + static unsigned char bitreverse[256] = {
  1613. +     0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10, 0x90, 0x50, 0xd0,
  1614. +     0x30, 0xb0, 0x70, 0xf0, 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8,
  1615. +     0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, 0x04, 0x84, 0x44, 0xc4,
  1616. +     0x24, 0xa4, 0x64, 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4,
  1617. +     0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c, 0x9c, 0x5c, 0xdc,
  1618. +     0x3c, 0xbc, 0x7c, 0xfc, 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2,
  1619. +     0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, 0x0a, 0x8a, 0x4a, 0xca,
  1620. +     0x2a, 0xaa, 0x6a, 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa,
  1621. +     0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16, 0x96, 0x56, 0xd6,
  1622. +     0x36, 0xb6, 0x76, 0xf6, 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee,
  1623. +     0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, 0x01, 0x81, 0x41, 0xc1,
  1624. +     0x21, 0xa1, 0x61, 0xe1, 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1,
  1625. +     0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, 0x19, 0x99, 0x59, 0xd9,
  1626. +     0x39, 0xb9, 0x79, 0xf9, 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5,
  1627. +     0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, 0x0d, 0x8d, 0x4d, 0xcd,
  1628. +     0x2d, 0xad, 0x6d, 0xed, 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd,
  1629. +     0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, 0x13, 0x93, 0x53, 0xd3,
  1630. +     0x33, 0xb3, 0x73, 0xf3, 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb,
  1631. +     0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, 0x07, 0x87, 0x47, 0xc7,
  1632. +     0x27, 0xa7, 0x67, 0xe7, 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7,
  1633. +     0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, 0x1f, 0x9f, 0x5f, 0xdf,
  1634. +     0x3f, 0xbf, 0x7f, 0xff};
  1635. + #endif /*_BITR_H_*/
  1636. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/cmuwm.h pbmplus.new/pnm/cmuwm.h
  1637. *** pbmplus.old/pnm/cmuwm.h
  1638. --- pbmplus.new/pnm/cmuwm.h    Fri Apr 12 00:30:34 1991
  1639. ***************
  1640. *** 0 ****
  1641. --- 1,17 ----
  1642. + /* cmuwm.h - definitions for the CMU window manager format
  1643. + */
  1644. + #ifndef _CMUWM_H_
  1645. + #define _CMUWM_H_
  1646. + struct cmuwm_header
  1647. +     {
  1648. +     long magic;
  1649. +     long width;
  1650. +     long height;
  1651. +     short depth;
  1652. +     };
  1653. + #define CMUWM_MAGIC 0xf10040bb
  1654. + #endif /*_CMUWM_H_*/
  1655. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/delpnm.bat pbmplus.new/pnm/delpnm.bat
  1656. *** pbmplus.old/pnm/delpnm.bat
  1657. --- pbmplus.new/pnm/delpnm.bat    Fri Apr 12 22:53:10 1991
  1658. ***************
  1659. *** 0 ****
  1660. --- 1,21 ----
  1661. + del PNMARITH
  1662. + del PNMCAT
  1663. + del PNMCONVO
  1664. + del PNMCROP
  1665. + del PNMCUT
  1666. + del PNMDEPTH
  1667. + del PNMENLAR
  1668. + del PNMFILE
  1669. + del PNMFLIP
  1670. + del PNMGAMMA
  1671. + del PNMINVER
  1672. + del PNMNORAW
  1673. + del PNMPASTE
  1674. + del PNMROTAT
  1675. + del PNMSCALE
  1676. + del PNMSHEAR
  1677. + del PNMTILE
  1678. + del PNMTORAS
  1679. + del PNMTOXWD
  1680. + del RASTTOPN
  1681. + del XWDTOPNM
  1682. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/dithers.h pbmplus.new/pnm/dithers.h
  1683. *** pbmplus.old/pnm/dithers.h
  1684. --- pbmplus.new/pnm/dithers.h    Fri Apr 12 00:30:56 1991
  1685. ***************
  1686. *** 0 ****
  1687. --- 1,78 ----
  1688. + /*
  1689. + ** dithers.h
  1690. + **
  1691. + ** Here are some dithering matrices.  They are all taken from "Digital
  1692. + ** Halftoning" by Robert Ulichney, MIT Press, ISBN 0-262-21009-6.
  1693. + */
  1694. + /*
  1695. + ** Order-6 ordered dithering matrix.  Note that smaller ordered dithers
  1696. + ** have no advantage over larger ones, so use dither8 instead.
  1697. + */
  1698. + static int dither6[8][8] = {
  1699. +      1, 59, 15, 55,  2, 56, 12, 52,
  1700. +     33, 17, 47, 31, 34, 18, 44, 28,
  1701. +      9, 49,  5, 63, 10, 50,  6, 60,
  1702. +     41, 25, 37, 21, 42, 26, 38, 22,
  1703. +      3, 57, 13, 53,  0, 58, 14, 54,
  1704. +     35, 19, 45, 29, 32, 16, 46, 30,
  1705. +     11, 51,  7, 61,  8, 48,  4, 62,
  1706. +     43, 27, 39, 23, 40, 24, 36, 20 };
  1707. + /* Order-8 ordered dithering matrix. */
  1708. + static int dither8[16][16] = {
  1709. +       1,235, 59,219, 15,231, 55,215,  2,232, 56,216, 12,228, 52,212,
  1710. +     129, 65,187,123,143, 79,183,119,130, 66,184,120,140, 76,180,116,
  1711. +      33,193, 17,251, 47,207, 31,247, 34,194, 18,248, 44,204, 28,244,
  1712. +     161, 97,145, 81,175,111,159, 95,162, 98,146, 82,172,108,156, 92,
  1713. +       9,225, 49,209,  5,239, 63,223, 10,226, 50,210,  6,236, 60,220,
  1714. +     137, 73,177,113,133, 69,191,127,138, 74,178,114,134, 70,188,124,
  1715. +      41,201, 25,241, 37,197, 21,255, 42,202, 26,242, 38,198, 22,252,
  1716. +     169,105,153, 89,165,101,149, 85,170,106,154, 90,166,102,150, 86,
  1717. +       3,233, 57,217, 13,229, 53,213,  0,234, 58,218, 14,230, 54,214,
  1718. +     131, 67,185,121,141, 77,181,117,128, 64,186,122,142, 78,182,118,
  1719. +      35,195, 19,249, 45,205, 29,245, 32,192, 16,250, 46,206, 30,246,
  1720. +     163, 99,147, 83,173,109,157, 93,160, 96,144, 80,174,110,158, 94,
  1721. +      11,227, 51,211,  7,237, 61,221,  8,224, 48,208,  4,238, 62,222,
  1722. +     139, 75,179,115,135, 71,189,125,136, 72,176,112,132, 68,190,126,
  1723. +      43,203, 27,243, 39,199, 23,253, 40,200, 24,240, 36,196, 20,254,
  1724. +     171,107,155, 91,167,103,151, 87,168,104,152, 88,164,100,148, 84 };
  1725. + /* Order-3 clustered dithering matrix. */
  1726. + static int cluster3[6][6] = {
  1727. +      9,11,10, 8, 6, 7,
  1728. +     12,17,16, 5, 0, 1,
  1729. +     13,14,15, 4, 3, 2,
  1730. +      8, 6, 7, 9,11,10,
  1731. +      5, 0, 1,12,17,16,
  1732. +      4, 3, 2,13,14,15 };
  1733. + /* Order-4 clustered dithering matrix. */
  1734. + static int cluster4[8][8] = {
  1735. +     18,20,19,16,13,11,12,15,
  1736. +     27,28,29,22, 4, 3, 2, 9,
  1737. +     26,31,30,21, 5, 0, 1,10,
  1738. +     23,25,24,17, 8, 6, 7,14,
  1739. +     13,11,12,15,18,20,19,16,
  1740. +      4, 3, 2, 9,27,28,29,22,
  1741. +      5, 0, 1,10,26,31,30,21,
  1742. +      8, 6, 7,14,23,25,24,17 };
  1743. + /* Order-8 clustered dithering matrix. */
  1744. + static int cluster8[16][16] = {
  1745. +      64, 69, 77, 87, 86, 76, 68, 67, 63, 58, 50, 40, 41, 51, 59, 60,
  1746. +      70, 94,100,109,108, 99, 93, 75, 57, 33, 27, 18, 19, 28, 34, 52,
  1747. +      78,101,114,116,115,112, 98, 83, 49, 26, 13, 11, 12, 15, 29, 44,
  1748. +      88,110,123,124,125,118,107, 85, 39, 17,  4,  3,  2,  9, 20, 42,
  1749. +      89,111,122,127,126,117,106, 84, 38, 16,  5,  0,  1, 10, 21, 43,
  1750. +      79,102,119,121,120,113, 97, 82, 48, 25,  8,  6,  7, 14, 30, 45,
  1751. +      71, 95,103,104,105, 96, 92, 74, 56, 32, 24, 23, 22, 31, 35, 53,
  1752. +      65, 72, 80, 90, 91, 81, 73, 66, 62, 55, 47, 37, 36, 46, 54, 61,
  1753. +      63, 58, 50, 40, 41, 51, 59, 60, 64, 69, 77, 87, 86, 76, 68, 67,
  1754. +      57, 33, 27, 18, 19, 28, 34, 52, 70, 94,100,109,108, 99, 93, 75,
  1755. +      49, 26, 13, 11, 12, 15, 29, 44, 78,101,114,116,115,112, 98, 83,
  1756. +      39, 17,  4,  3,  2,  9, 20, 42, 88,110,123,124,125,118,107, 85,
  1757. +      38, 16,  5,  0,  1, 10, 21, 43, 89,111,122,127,126,117,106, 84,
  1758. +      48, 25,  8,  6,  7, 14, 30, 45, 79,102,119,121,120,113, 97, 82,
  1759. +      56, 32, 24, 23, 22, 31, 35, 53, 71, 95,103,104,105, 96, 92, 74,
  1760. +      62, 55, 47, 37, 36, 46, 54, 61, 65, 72, 80, 90, 91, 81, 73, 66 };
  1761. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/exepnm.bat pbmplus.new/pnm/exepnm.bat
  1762. *** pbmplus.old/pnm/exepnm.bat
  1763. --- pbmplus.new/pnm/exepnm.bat    Fri Apr 12 22:51:54 1991
  1764. ***************
  1765. *** 0 ****
  1766. --- 1,21 ----
  1767. + copy /b c:\gcc\bin\stub.exe+PNMARITH   PNMARITH.exe
  1768. + copy /b c:\gcc\bin\stub.exe+PNMCAT     PNMCAT.exe
  1769. + copy /b c:\gcc\bin\stub.exe+PNMCONVO   PNMCONVO.exe
  1770. + copy /b c:\gcc\bin\stub.exe+PNMCROP    PNMCROP.exe
  1771. + copy /b c:\gcc\bin\stub.exe+PNMCUT     PNMCUT.exe
  1772. + copy /b c:\gcc\bin\stub.exe+PNMDEPTH   PNMDEPTH.exe
  1773. + copy /b c:\gcc\bin\stub.exe+PNMENLAR   PNMENLAR.exe
  1774. + copy /b c:\gcc\bin\stub.exe+PNMFILE    PNMFILE.exe
  1775. + copy /b c:\gcc\bin\stub.exe+PNMFLIP    PNMFLIP.exe
  1776. + copy /b c:\gcc\bin\stub.exe+PNMGAMMA   PNMGAMMA.exe
  1777. + copy /b c:\gcc\bin\stub.exe+PNMINVER   PNMINVER.exe
  1778. + copy /b c:\gcc\bin\stub.exe+PNMNORAW   PNMNORAW.exe
  1779. + copy /b c:\gcc\bin\stub.exe+PNMPASTE   PNMPASTE.exe
  1780. + copy /b c:\gcc\bin\stub.exe+PNMROTAT   PNMROTAT.exe
  1781. + copy /b c:\gcc\bin\stub.exe+PNMSCALE   PNMSCALE.exe
  1782. + copy /b c:\gcc\bin\stub.exe+PNMSHEAR   PNMSHEAR.exe
  1783. + copy /b c:\gcc\bin\stub.exe+PNMTILE    PNMTILE.exe
  1784. + copy /b c:\gcc\bin\stub.exe+PNMTORAS   PNMTORAS.exe
  1785. + copy /b c:\gcc\bin\stub.exe+PNMTOXWD   PNMTOXWD.exe
  1786. + copy /b c:\gcc\bin\stub.exe+RASTTOPN   RASTTOPN.exe
  1787. + copy /b c:\gcc\bin\stub.exe+XWDTOPNM   XWDTOPNM.exe
  1788. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/g3.h pbmplus.new/pnm/g3.h
  1789. *** pbmplus.old/pnm/g3.h
  1790. --- pbmplus.new/pnm/g3.h    Fri Apr 12 00:30:30 1991
  1791. ***************
  1792. *** 0 ****
  1793. --- 1,231 ----
  1794. + /* g3.h - header file for group 3 FAX compression filters
  1795. + */
  1796. + #ifndef _G3_H_
  1797. + #define _G3_H_
  1798. + typedef struct tableentry {
  1799. +     int tabid;
  1800. +     int code;
  1801. +     int length;
  1802. +     int count;
  1803. +     } tableentry;
  1804. + #define TWTABLE        23
  1805. + #define MWTABLE        24
  1806. + #define TBTABLE        25
  1807. + #define MBTABLE        26
  1808. + #define EXTABLE        27
  1809. + #define VRTABLE        28
  1810. + static struct tableentry twtable[] = {
  1811. +     { TWTABLE, 0x35, 8, 0 },
  1812. +     { TWTABLE, 0x7, 6, 1 },
  1813. +     { TWTABLE, 0x7, 4, 2 },
  1814. +     { TWTABLE, 0x8, 4, 3 },
  1815. +     { TWTABLE, 0xb, 4, 4 },
  1816. +     { TWTABLE, 0xc, 4, 5 },
  1817. +     { TWTABLE, 0xe, 4, 6 },
  1818. +     { TWTABLE, 0xf, 4, 7 },
  1819. +     { TWTABLE, 0x13, 5, 8 },
  1820. +     { TWTABLE, 0x14, 5, 9 },
  1821. +     { TWTABLE, 0x7, 5, 10 },
  1822. +     { TWTABLE, 0x8, 5, 11 },
  1823. +     { TWTABLE, 0x8, 6, 12 },
  1824. +     { TWTABLE, 0x3, 6, 13 },
  1825. +     { TWTABLE, 0x34, 6, 14 },
  1826. +     { TWTABLE, 0x35, 6, 15 },
  1827. +     { TWTABLE, 0x2a, 6, 16 },
  1828. +     { TWTABLE, 0x2b, 6, 17 },
  1829. +     { TWTABLE, 0x27, 7, 18 },
  1830. +     { TWTABLE, 0xc, 7, 19 },
  1831. +     { TWTABLE, 0x8, 7, 20 },
  1832. +     { TWTABLE, 0x17, 7, 21 },
  1833. +     { TWTABLE, 0x3, 7, 22 },
  1834. +     { TWTABLE, 0x4, 7, 23 },
  1835. +     { TWTABLE, 0x28, 7, 24 },
  1836. +     { TWTABLE, 0x2b, 7, 25 },
  1837. +     { TWTABLE, 0x13, 7, 26 },
  1838. +     { TWTABLE, 0x24, 7, 27 },
  1839. +     { TWTABLE, 0x18, 7, 28 },
  1840. +     { TWTABLE, 0x2, 8, 29 },
  1841. +     { TWTABLE, 0x3, 8, 30 },
  1842. +     { TWTABLE, 0x1a, 8, 31 },
  1843. +     { TWTABLE, 0x1b, 8, 32 },
  1844. +     { TWTABLE, 0x12, 8, 33 },
  1845. +     { TWTABLE, 0x13, 8, 34 },
  1846. +     { TWTABLE, 0x14, 8, 35 },
  1847. +     { TWTABLE, 0x15, 8, 36 },
  1848. +     { TWTABLE, 0x16, 8, 37 },
  1849. +     { TWTABLE, 0x17, 8, 38 },
  1850. +     { TWTABLE, 0x28, 8, 39 },
  1851. +     { TWTABLE, 0x29, 8, 40 },
  1852. +     { TWTABLE, 0x2a, 8, 41 },
  1853. +     { TWTABLE, 0x2b, 8, 42 },
  1854. +     { TWTABLE, 0x2c, 8, 43 },
  1855. +     { TWTABLE, 0x2d, 8, 44 },
  1856. +     { TWTABLE, 0x4, 8, 45 },
  1857. +     { TWTABLE, 0x5, 8, 46 },
  1858. +     { TWTABLE, 0xa, 8, 47 },
  1859. +     { TWTABLE, 0xb, 8, 48 },
  1860. +     { TWTABLE, 0x52, 8, 49 },
  1861. +     { TWTABLE, 0x53, 8, 50 },
  1862. +     { TWTABLE, 0x54, 8, 51 },
  1863. +     { TWTABLE, 0x55, 8, 52 },
  1864. +     { TWTABLE, 0x24, 8, 53 },
  1865. +     { TWTABLE, 0x25, 8, 54 },
  1866. +     { TWTABLE, 0x58, 8, 55 },
  1867. +     { TWTABLE, 0x59, 8, 56 },
  1868. +     { TWTABLE, 0x5a, 8, 57 },
  1869. +     { TWTABLE, 0x5b, 8, 58 },
  1870. +     { TWTABLE, 0x4a, 8, 59 },
  1871. +     { TWTABLE, 0x4b, 8, 60 },
  1872. +     { TWTABLE, 0x32, 8, 61 },
  1873. +     { TWTABLE, 0x33, 8, 62 },
  1874. +     { TWTABLE, 0x34, 8, 63 },
  1875. +     };
  1876. + static struct tableentry mwtable[] = {
  1877. +     { MWTABLE, 0x1b, 5, 64 },
  1878. +     { MWTABLE, 0x12, 5, 128 },
  1879. +     { MWTABLE, 0x17, 6, 192 },
  1880. +     { MWTABLE, 0x37, 7, 256 },
  1881. +     { MWTABLE, 0x36, 8, 320 },
  1882. +     { MWTABLE, 0x37, 8, 384 },
  1883. +     { MWTABLE, 0x64, 8, 448 },
  1884. +     { MWTABLE, 0x65, 8, 512 },
  1885. +     { MWTABLE, 0x68, 8, 576 },
  1886. +     { MWTABLE, 0x67, 8, 640 },
  1887. +     { MWTABLE, 0xcc, 9, 704 },
  1888. +     { MWTABLE, 0xcd, 9, 768 },
  1889. +     { MWTABLE, 0xd2, 9, 832 },
  1890. +     { MWTABLE, 0xd3, 9, 896 },
  1891. +     { MWTABLE, 0xd4, 9, 960 },
  1892. +     { MWTABLE, 0xd5, 9, 1024 },
  1893. +     { MWTABLE, 0xd6, 9, 1088 },
  1894. +     { MWTABLE, 0xd7, 9, 1152 },
  1895. +     { MWTABLE, 0xd8, 9, 1216 },
  1896. +     { MWTABLE, 0xd9, 9, 1280 },
  1897. +     { MWTABLE, 0xda, 9, 1344 },
  1898. +     { MWTABLE, 0xdb, 9, 1408 },
  1899. +     { MWTABLE, 0x98, 9, 1472 },
  1900. +     { MWTABLE, 0x99, 9, 1536 },
  1901. +     { MWTABLE, 0x9a, 9, 1600 },
  1902. +     { MWTABLE, 0x18, 6, 1664 },
  1903. +     { MWTABLE, 0x9b, 9, 1728 },
  1904. +     };
  1905. + static struct tableentry tbtable[] = {
  1906. +     { TBTABLE, 0x37, 10, 0 },
  1907. +     { TBTABLE, 0x2, 3, 1 },
  1908. +     { TBTABLE, 0x3, 2, 2 },
  1909. +     { TBTABLE, 0x2, 2, 3 },
  1910. +     { TBTABLE, 0x3, 3, 4 },
  1911. +     { TBTABLE, 0x3, 4, 5 },
  1912. +     { TBTABLE, 0x2, 4, 6 },
  1913. +     { TBTABLE, 0x3, 5, 7 },
  1914. +     { TBTABLE, 0x5, 6, 8 },
  1915. +     { TBTABLE, 0x4, 6, 9 },
  1916. +     { TBTABLE, 0x4, 7, 10 },
  1917. +     { TBTABLE, 0x5, 7, 11 },
  1918. +     { TBTABLE, 0x7, 7, 12 },
  1919. +     { TBTABLE, 0x4, 8, 13 },
  1920. +     { TBTABLE, 0x7, 8, 14 },
  1921. +     { TBTABLE, 0x18, 9, 15 },
  1922. +     { TBTABLE, 0x17, 10, 16 },
  1923. +     { TBTABLE, 0x18, 10, 17 },
  1924. +     { TBTABLE, 0x8, 10, 18 },
  1925. +     { TBTABLE, 0x67, 11, 19 },
  1926. +     { TBTABLE, 0x68, 11, 20 },
  1927. +     { TBTABLE, 0x6c, 11, 21 },
  1928. +     { TBTABLE, 0x37, 11, 22 },
  1929. +     { TBTABLE, 0x28, 11, 23 },
  1930. +     { TBTABLE, 0x17, 11, 24 },
  1931. +     { TBTABLE, 0x18, 11, 25 },
  1932. +     { TBTABLE, 0xca, 12, 26 },
  1933. +     { TBTABLE, 0xcb, 12, 27 },
  1934. +     { TBTABLE, 0xcc, 12, 28 },
  1935. +     { TBTABLE, 0xcd, 12, 29 },
  1936. +     { TBTABLE, 0x68, 12, 30 },
  1937. +     { TBTABLE, 0x69, 12, 31 },
  1938. +     { TBTABLE, 0x6a, 12, 32 },
  1939. +     { TBTABLE, 0x6b, 12, 33 },
  1940. +     { TBTABLE, 0xd2, 12, 34 },
  1941. +     { TBTABLE, 0xd3, 12, 35 },
  1942. +     { TBTABLE, 0xd4, 12, 36 },
  1943. +     { TBTABLE, 0xd5, 12, 37 },
  1944. +     { TBTABLE, 0xd6, 12, 38 },
  1945. +     { TBTABLE, 0xd7, 12, 39 },
  1946. +     { TBTABLE, 0x6c, 12, 40 },
  1947. +     { TBTABLE, 0x6d, 12, 41 },
  1948. +     { TBTABLE, 0xda, 12, 42 },
  1949. +     { TBTABLE, 0xdb, 12, 43 },
  1950. +     { TBTABLE, 0x54, 12, 44 },
  1951. +     { TBTABLE, 0x55, 12, 45 },
  1952. +     { TBTABLE, 0x56, 12, 46 },
  1953. +     { TBTABLE, 0x57, 12, 47 },
  1954. +     { TBTABLE, 0x64, 12, 48 },
  1955. +     { TBTABLE, 0x65, 12, 49 },
  1956. +     { TBTABLE, 0x52, 12, 50 },
  1957. +     { TBTABLE, 0x53, 12, 51 },
  1958. +     { TBTABLE, 0x24, 12, 52 },
  1959. +     { TBTABLE, 0x37, 12, 53 },
  1960. +     { TBTABLE, 0x38, 12, 54 },
  1961. +     { TBTABLE, 0x27, 12, 55 },
  1962. +     { TBTABLE, 0x28, 12, 56 },
  1963. +     { TBTABLE, 0x58, 12, 57 },
  1964. +     { TBTABLE, 0x59, 12, 58 },
  1965. +     { TBTABLE, 0x2b, 12, 59 },
  1966. +     { TBTABLE, 0x2c, 12, 60 },
  1967. +     { TBTABLE, 0x5a, 12, 61 },
  1968. +     { TBTABLE, 0x66, 12, 62 },
  1969. +     { TBTABLE, 0x67, 12, 63 },
  1970. +     };
  1971. + static struct tableentry mbtable[] = {
  1972. +     { MBTABLE, 0xf, 10, 64 },
  1973. +     { MBTABLE, 0xc8, 12, 128 },
  1974. +     { MBTABLE, 0xc9, 12, 192 },
  1975. +     { MBTABLE, 0x5b, 12, 256 },
  1976. +     { MBTABLE, 0x33, 12, 320 },
  1977. +     { MBTABLE, 0x34, 12, 384 },
  1978. +     { MBTABLE, 0x35, 12, 448 },
  1979. +     { MBTABLE, 0x6c, 13, 512 },
  1980. +     { MBTABLE, 0x6d, 13, 576 },
  1981. +     { MBTABLE, 0x4a, 13, 640 },
  1982. +     { MBTABLE, 0x4b, 13, 704 },
  1983. +     { MBTABLE, 0x4c, 13, 768 },
  1984. +     { MBTABLE, 0x4d, 13, 832 },
  1985. +     { MBTABLE, 0x72, 13, 896 },
  1986. +     { MBTABLE, 0x73, 13, 960 },
  1987. +     { MBTABLE, 0x74, 13, 1024 },
  1988. +     { MBTABLE, 0x75, 13, 1088 },
  1989. +     { MBTABLE, 0x76, 13, 1152 },
  1990. +     { MBTABLE, 0x77, 13, 1216 },
  1991. +     { MBTABLE, 0x52, 13, 1280 },
  1992. +     { MBTABLE, 0x53, 13, 1344 },
  1993. +     { MBTABLE, 0x54, 13, 1408 },
  1994. +     { MBTABLE, 0x55, 13, 1472 },
  1995. +     { MBTABLE, 0x5a, 13, 1536 },
  1996. +     { MBTABLE, 0x5b, 13, 1600 },
  1997. +     { MBTABLE, 0x64, 13, 1664 },
  1998. +     { MBTABLE, 0x65, 13, 1728 },
  1999. +     };
  2000. + static struct tableentry extable[] = {
  2001. +     { EXTABLE, 0x8, 11, 1792 },
  2002. +     { EXTABLE, 0xc, 11, 1856 },
  2003. +     { EXTABLE, 0xd, 11, 1920 },
  2004. +     { EXTABLE, 0x12, 12, 1984 },
  2005. +     { EXTABLE, 0x13, 12, 2048 },
  2006. +     { EXTABLE, 0x14, 12, 2112 },
  2007. +     { EXTABLE, 0x15, 12, 2176 },
  2008. +     { EXTABLE, 0x16, 12, 2240 },
  2009. +     { EXTABLE, 0x17, 12, 2304 },
  2010. +     { EXTABLE, 0x1c, 12, 2368 },
  2011. +     { EXTABLE, 0x1d, 12, 2432 },
  2012. +     { EXTABLE, 0x1e, 12, 2496 },
  2013. +     { EXTABLE, 0x1f, 12, 2560 },
  2014. +     };
  2015. + #endif /*_G3_H_*/
  2016. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/ilbm.h pbmplus.new/pnm/ilbm.h
  2017. *** pbmplus.old/pnm/ilbm.h
  2018. --- pbmplus.new/pnm/ilbm.h    Fri Apr 12 00:31:16 1991
  2019. ***************
  2020. *** 0 ****
  2021. --- 1,36 ----
  2022. + /* ilbm.h - header file for IFF ILBM files
  2023. + */
  2024. + #define RowBytes(cols)        ( ( ( (cols) + 15 ) / 16 ) * 2 )
  2025. + /* definitions for BMHD */
  2026. + typedef struct
  2027. +     {
  2028. +     unsigned short w, h;
  2029. +     short x, y;
  2030. +     unsigned char nPlanes, masking, compression, pad1;
  2031. +     unsigned short transparentColor;
  2032. +     unsigned char xAspect, yAspect;
  2033. +     short pageWidth, pageHeight;
  2034. +     } BitMapHeader;
  2035. + #define mskNone            0
  2036. + #define mskHasMask        1
  2037. + #define mskHasTransparentColor    2
  2038. + #define mskLasso        3
  2039. + #define cmpNone            0
  2040. + #define cmpByteRun1        1
  2041. + /* definitions for CMAP */
  2042. + typedef struct
  2043. +     {
  2044. +     unsigned char r, g, b;
  2045. +     } ColorRegister;
  2046. + /* definitions for CAMG */
  2047. + #define    vmEXTRA_HALFBRITE    0x80
  2048. + #define    vmHAM            0x800
  2049. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/libpbm.h pbmplus.new/pnm/libpbm.h
  2050. *** pbmplus.old/pnm/libpbm.h
  2051. --- pbmplus.new/pnm/libpbm.h    Fri Apr 12 00:30:32 1991
  2052. ***************
  2053. *** 0 ****
  2054. --- 1,17 ----
  2055. + /* libpbm.h - internal header file for libpbm portable bitmap library
  2056. + */
  2057. + #ifndef _LIBPBM_H_
  2058. + #define _LIBPBM_H_
  2059. + /* Here are some routines internal to the pbm library. */
  2060. + char pbm_getc ARGS(( FILE* file ));
  2061. + unsigned char pbm_getrawbyte ARGS(( FILE* file ));
  2062. + int pbm_getint ARGS(( FILE* file ));
  2063. + int pbm_readmagicnumber ARGS(( FILE* file ));
  2064. + void pbm_readpbminitrest ARGS(( FILE* file, int* colsP, int* rowsP ));
  2065. + #endif /*_LIBPBM_H_*/
  2066. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/libpgm.h pbmplus.new/pnm/libpgm.h
  2067. *** pbmplus.old/pnm/libpgm.h
  2068. --- pbmplus.new/pnm/libpgm.h    Fri Apr 12 00:30:54 1991
  2069. ***************
  2070. *** 0 ****
  2071. --- 1,11 ----
  2072. + /* libpgm.h - internal header file for libpgm portable graymap library
  2073. + */
  2074. + #ifndef _LIBPGM_H_
  2075. + #define _LIBPGM_H_
  2076. + /* Here are some routines internal to the pgm library. */
  2077. + void pgm_readpgminitrest ARGS(( FILE* file, int* colsP, int* rowsP, gray* maxvalP ));
  2078. + #endif /*_LIBPGM_H_*/
  2079. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/libppm.h pbmplus.new/pnm/libppm.h
  2080. *** pbmplus.old/pnm/libppm.h
  2081. --- pbmplus.new/pnm/libppm.h    Fri Apr 12 00:31:14 1991
  2082. ***************
  2083. *** 0 ****
  2084. --- 1,11 ----
  2085. + /* libppm.h - internal header file for libppm portable pixmap library
  2086. + */
  2087. + #ifndef _LIBPPM_H_
  2088. + #define _LIBPPM_H_
  2089. + /* Here are some routines internal to the ppm library. */
  2090. + void ppm_readppminitrest ARGS(( FILE* file, int* colsP, int* rowsP, pixval* maxvalP ));
  2091. + #endif /*_LIBPPM_H_*/
  2092. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/macp.h pbmplus.new/pnm/macp.h
  2093. *** pbmplus.old/pnm/macp.h
  2094. --- pbmplus.new/pnm/macp.h    Fri Apr 12 00:30:32 1991
  2095. ***************
  2096. *** 0 ****
  2097. --- 1,12 ----
  2098. + /* macp.h - header file for MacPaint files
  2099. + */
  2100. + #ifndef _MACP_H_
  2101. + #define _MACP_H_
  2102. + #define    HEADER_LENGTH    512
  2103. + #define    MAX_LINES    720
  2104. + #define    BYTES_WIDE    72
  2105. + #define MAX_COLS    576    /* = BYTES_WIDE * 8 */
  2106. + #endif /*_MACP_H_*/
  2107. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/makefile pbmplus.new/pnm/makefile
  2108. *** pbmplus.old/pnm/makefile    Fri Apr 12 00:30:58 1991
  2109. --- pbmplus.new/pnm/makefile    Fri Jul 19 19:26:40 1991
  2110. ***************
  2111. *** 1,3 ****
  2112. --- 1,4 ----
  2113. + .SUFFIXES:    .out .o .c .e .r
  2114.   # Makefile for pnm tools.
  2115.   #
  2116.   # Copyright (C) 1989, 1991 by Jef Poskanzer.
  2117. ***************
  2118. *** 10,32 ****
  2119.   # implied warranty.
  2120.   
  2121.   # Default values, usually overridden by top-level Makefile.
  2122. ! CC =        cc
  2123. ! #CC =        gcc -fcombine-regs -fpcc-struct-return
  2124. ! #CFLAGS =    -O
  2125. ! CFLAGS =    -g
  2126.   #CFLAGS =    -g -O
  2127. ! #TIFFDEF =
  2128. ! #TIFFINC =
  2129. ! #TIFFLIB =
  2130. ! #TIFFBINARIES =
  2131. ! #TIFFOBJECTS =
  2132. ! TIFFDEF =       -DLIBTIFF
  2133. ! TIFFINC =       -I../libtiff
  2134. ! TIFFLIB =       ../libtiff/libtiff.a
  2135. ! TIFFBINARIES =  tifftopnm pnmtotiff
  2136. ! TIFFOBJECTS =   tifftopnm.o pnmtotiff.o
  2137. ! #LDFLAGS =    -s
  2138. ! LDFLAGS =    
  2139.   INSTALLBINARIES =    /usr/new/pbm
  2140.   INSTALLSCRIPTS =    $(INSTALLBINARIES)
  2141.   INSTALLMANUALS1 =    /usr/man/man1
  2142. --- 11,33 ----
  2143.   # implied warranty.
  2144.   
  2145.   # Default values, usually overridden by top-level Makefile.
  2146. ! #CC =         cc
  2147. ! CC =       gcc -fcombine-regs
  2148. ! CFLAGS =   -O
  2149. ! #CFLAGS =     -g
  2150.   #CFLAGS =    -g -O
  2151. ! TIFFDEF =
  2152. ! TIFFINC =
  2153. ! TIFFLIB =
  2154. ! TIFFBINARIES =
  2155. ! TIFFOBJECTS =
  2156. ! #TIFFDEF =         -DLIBTIFF
  2157. ! #TIFFINC =         -I../libtiff
  2158. ! #TIFFLIB =         ../libtiff/libtiff.a
  2159. ! #TIFFBINARIES =  tifftopnm pnmtotiff
  2160. ! #TIFFOBJECTS =     tifftopnm.o pnmtotiff.o
  2161. ! LDFLAGS =  -s
  2162. ! #LDFLAGS =     
  2163.   INSTALLBINARIES =    /usr/new/pbm
  2164.   INSTALLSCRIPTS =    $(INSTALLBINARIES)
  2165.   INSTALLMANUALS1 =    /usr/man/man1
  2166. ***************
  2167. *** 64,70 ****
  2168.   DEFPBM =    $(PBMDIR)/pbm.h
  2169.   DEFLIBPBM =    $(PBMDIR)/libpbm.h
  2170.   
  2171. ! SHELL =        /bin/sh
  2172.   INCLUDE =    $(INCLUDEPPM) $(INCLUDEPGM) $(INCLUDEPBM)
  2173.   ALLCFLAGS =    $(CFLAGS) $(PPMOPT) $(PGMOPT) $(PBMOPT) $(INCLUDE) $(TIFFDEF) $(TIFFINC)
  2174.   LIBPNM =    libpnm.a
  2175. --- 65,71 ----
  2176.   DEFPBM =    $(PBMDIR)/pbm.h
  2177.   DEFLIBPBM =    $(PBMDIR)/libpbm.h
  2178.   
  2179. ! SHELL =     command 
  2180.   INCLUDE =    $(INCLUDEPPM) $(INCLUDEPGM) $(INCLUDEPBM)
  2181.   ALLCFLAGS =    $(CFLAGS) $(PPMOPT) $(PGMOPT) $(PBMOPT) $(INCLUDE) $(TIFFDEF) $(TIFFINC)
  2182.   LIBPNM =    libpnm.a
  2183. ***************
  2184. *** 95,103 ****
  2185.   binaries:    $(BINARIES)
  2186.   
  2187.   installbinaries:    binaries
  2188. !     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  2189.       cp $(BINARIES) $(INSTALLBINARIES)
  2190. !     cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  2191.       cp $(SCRIPTS) $(INSTALLSCRIPTS)
  2192.       cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  2193.   
  2194. --- 96,104 ----
  2195.   binaries:    $(BINARIES)
  2196.   
  2197.   installbinaries:    binaries
  2198. !     cd $(INSTALLBINARIES) ; command /c rm -f $(BINARIES)
  2199.       cp $(BINARIES) $(INSTALLBINARIES)
  2200. !     cd $(INSTALLSCRIPTS) ; command /c rm -f $(SCRIPTS)
  2201.       cp $(SCRIPTS) $(INSTALLSCRIPTS)
  2202.       cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  2203.   
  2204. ***************
  2205. *** 104,118 ****
  2206.   
  2207.   merge:        pnmmerge
  2208.   pnmmerge:    pnmmerge.c $(OBJECTS) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  2209. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  2210.   
  2211.   installmerge:    installpnmmerge
  2212.   installpnmmerge:    pnmmerge
  2213. !     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  2214.       cp pnmmerge $(INSTALLBINARIES)
  2215.       cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pnmmerge $$i ; done
  2216. !     rm $(INSTALLBINARIES)/pnmmerge
  2217. !     cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  2218.       cp $(SCRIPTS) $(INSTALLSCRIPTS)
  2219.       cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  2220.   
  2221. --- 105,119 ----
  2222.   
  2223.   merge:        pnmmerge
  2224.   pnmmerge:    pnmmerge.c $(OBJECTS) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  2225. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c  @pnmmerge.lst -lm 
  2226.   
  2227.   installmerge:    installpnmmerge
  2228.   installpnmmerge:    pnmmerge
  2229. !     cd $(INSTALLBINARIES) ; command /c rm -f $(BINARIES)
  2230.       cp pnmmerge $(INSTALLBINARIES)
  2231.       cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln pnmmerge $$i ; done
  2232. !     command /c rm $(INSTALLBINARIES)/pnmmerge
  2233. !     cd $(INSTALLSCRIPTS) ; command /c rm -f $(SCRIPTS)
  2234.       cp $(SCRIPTS) $(INSTALLSCRIPTS)
  2235.       cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  2236.   
  2237. ***************
  2238. *** 125,136 ****
  2239.   
  2240.   # Rules for plain programs.
  2241.   $(PORTBINARIES) $(TIFFBINARIES):    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  2242. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  2243.   
  2244.   # Rule for math-dependent programs.
  2245.   $(MATHBINARIES):        pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) \
  2246.               $(LIBPPM) $(LIBPGM) $(LIBPBM)
  2247. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c -lm $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  2248.   
  2249.   # Rule for objects.
  2250.   $(OBJECTS):    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM)
  2251. --- 126,137 ----
  2252.   
  2253.   # Rules for plain programs.
  2254.   $(PORTBINARIES) $(TIFFBINARIES):    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) $(LIBPPM) $(LIBPGM) $(LIBPBM) $(TIFFLIB)
  2255. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @pnmall.lst 
  2256.   
  2257.   # Rule for math-dependent programs.
  2258.   $(MATHBINARIES):        pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) $(LIBPNM) \
  2259.               $(LIBPPM) $(LIBPGM) $(LIBPBM)
  2260. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @pnmall.lst -lm 
  2261.   
  2262.   # Rule for objects.
  2263.   $(OBJECTS):    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM)
  2264. ***************
  2265. *** 145,153 ****
  2266.       cd $(PPMDIR) ; make lib
  2267.   lib:        $(LIBPNM)
  2268.   $(LIBPNM):    libpnm1.o libpnm2.o libpnm3.o libpnm4.o
  2269. !     -rm $(LIBPNM)
  2270.       ar rc $(LIBPNM) libpnm1.o libpnm2.o libpnm3.o libpnm4.o
  2271. -     -ranlib $(LIBPNM)
  2272.   
  2273.   libpnm1.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm1.c
  2274.       $(CC) $(ALLCFLAGS) -c libpnm1.c
  2275. --- 146,153 ----
  2276.       cd $(PPMDIR) ; make lib
  2277.   lib:        $(LIBPNM)
  2278.   $(LIBPNM):    libpnm1.o libpnm2.o libpnm3.o libpnm4.o
  2279. !     -command /c rm $(LIBPNM)
  2280.       ar rc $(LIBPNM) libpnm1.o libpnm2.o libpnm3.o libpnm4.o
  2281.   
  2282.   libpnm1.o:    pnm.h $(DEFPPM) $(DEFPGM) $(DEFPBM) libpnm1.c
  2283.       $(CC) $(ALLCFLAGS) -c libpnm1.c
  2284. ***************
  2285. *** 186,192 ****
  2286.   xwdtopnm xwdtopnm.o:        xwdtopnm.c x10wd.h x11wd.h
  2287.   
  2288.   clean:
  2289. !     -rm -f *.o *.a *.cat core $(BINARIES) pnmmerge
  2290.   
  2291.   
  2292.   # Imakefile stuff.  Ignore if you're not an X11 type.
  2293. --- 186,192 ----
  2294.   xwdtopnm xwdtopnm.o:        xwdtopnm.c x10wd.h x11wd.h
  2295.   
  2296.   clean:
  2297. !     -command /c rm -f *.o *.a *.cat core $(BINARIES) pnmmerge
  2298.   
  2299.   
  2300.   # Imakefile stuff.  Ignore if you're not an X11 type.
  2301. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/mgr.h pbmplus.new/pnm/mgr.h
  2302. *** pbmplus.old/pnm/mgr.h
  2303. --- pbmplus.new/pnm/mgr.h    Fri Apr 12 00:30:32 1991
  2304. ***************
  2305. *** 0 ****
  2306. --- 1,25 ----
  2307. + /* mgr.h - the following defs are taken from the MGR header file lib/dump.h
  2308. + */
  2309. + #ifndef _MGR_H_
  2310. + #define _MGR_H_
  2311. + struct old_b_header {
  2312. +    char magic[2];
  2313. +    char h_wide;
  2314. +    char l_wide;
  2315. +    char h_high;
  2316. +    char l_high;
  2317. +    };
  2318. + struct b_header {
  2319. +    char magic[2];
  2320. +    char h_wide;
  2321. +    char l_wide;
  2322. +    char h_high;
  2323. +    char l_high;
  2324. +    char depth;
  2325. +    char _reserved;
  2326. +    };
  2327. + #endif /*_MGR_H_*/
  2328. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pbm.h pbmplus.new/pnm/pbm.h
  2329. *** pbmplus.old/pnm/pbm.h
  2330. --- pbmplus.new/pnm/pbm.h    Fri Apr 12 00:30:28 1991
  2331. ***************
  2332. *** 0 ****
  2333. --- 1,46 ----
  2334. + /* pbm.h - header file for libpbm portable bitmap library
  2335. + */
  2336. + #ifndef _PBM_H_
  2337. + #define _PBM_H_
  2338. + #include "../pbmplus.h"
  2339. + typedef unsigned char bit;
  2340. + #define PBM_WHITE 0
  2341. + #define PBM_BLACK 1
  2342. + /* Magic constants. */
  2343. + #define PBM_MAGIC1 'P'
  2344. + #define PBM_MAGIC2 '1'
  2345. + #define RPBM_MAGIC2 '4'
  2346. + #define PBM_FORMAT (PBM_MAGIC1 * 256 + PBM_MAGIC2)
  2347. + #define RPBM_FORMAT (PBM_MAGIC1 * 256 + RPBM_MAGIC2)
  2348. + #define PBM_TYPE PBM_FORMAT
  2349. + /* Macro for turning a format number into a type number. */
  2350. + #define PBM_FORMAT_TYPE(f) ((f) == PBM_FORMAT || (f) == RPBM_FORMAT ? PBM_TYPE : -1)
  2351. + /* Declarations of routines. */
  2352. + void pbm_init ARGS(( int* argcP, char* argv[] ));
  2353. + #define pbm_allocarray( cols, rows ) ((bit**) pm_allocarray( cols, rows, sizeof(bit) ))
  2354. + #define pbm_allocrow( cols ) ((bit*) pm_allocrow( cols, sizeof(bit) ))
  2355. + #define pbm_freearray( bits, rows ) pm_freearray( (char**) bits, rows )
  2356. + #define pbm_freerow( bitrow ) pm_freerow( (char*) bitrow )
  2357. + bit** pbm_readpbm ARGS(( FILE* file, int* colsP, int* rowsP ));
  2358. + void pbm_readpbminit ARGS(( FILE* file, int* colsP, int* rowsP, int* formatP ));
  2359. + void pbm_readpbmrow ARGS(( FILE* file, bit* bitrow, int cols, int format ));
  2360. + void pbm_writepbm ARGS(( FILE* file, bit** bits, int cols, int rows, int forceplain ));
  2361. + void pbm_writepbminit ARGS(( FILE* file, int cols, int rows, int forceplain ));
  2362. + void pbm_writepbmrow ARGS(( FILE* file, bit* bitrow, int cols, int forceplain ));
  2363. + #endif /*_PBM_H_*/
  2364. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pbmfont.h pbmplus.new/pnm/pbmfont.h
  2365. *** pbmplus.old/pnm/pbmfont.h
  2366. --- pbmplus.new/pnm/pbmfont.h    Fri Apr 12 00:30:34 1991
  2367. ***************
  2368. *** 0 ****
  2369. --- 1,8 ----
  2370. + /* pbmfont.h - header file for font routines in libpbm
  2371. + */
  2372. + bit** pbm_defaultfont ARGS(( int* fcolsP, int* frowsP ));
  2373. + void pbm_dissectfont ARGS(( bit** font, int frows, int fcols, int* char_heightP, int* char_widthP, int char_row0[], int char_col0[] ));
  2374. + void pbm_dumpfont ARGS(( bit** font, int fcols, int frows ));
  2375. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pgm.h pbmplus.new/pnm/pgm.h
  2376. *** pbmplus.old/pnm/pgm.h
  2377. --- pbmplus.new/pnm/pgm.h    Fri Apr 12 00:30:54 1991
  2378. ***************
  2379. *** 0 ****
  2380. --- 1,55 ----
  2381. + /* pgm.h - header file for libpgm portable graymap library
  2382. + */
  2383. + #ifndef _PGM_H_
  2384. + #define _PGM_H_
  2385. + #include "pbm.h"
  2386. + #ifdef PGM_BIGGRAYS
  2387. + typedef unsigned short gray;
  2388. + #define PGM_MAXMAXVAL 65535
  2389. + #else /*PGM_BIGGRAYS*/
  2390. + typedef unsigned char gray;
  2391. + #define PGM_MAXMAXVAL 255
  2392. + #endif /*PGM_BIGGRAYS*/
  2393. + /* Magic constants. */
  2394. + #define PGM_MAGIC1 'P'
  2395. + #define PGM_MAGIC2 '2'
  2396. + #define RPGM_MAGIC2 '5'
  2397. + #define PGM_FORMAT (PGM_MAGIC1 * 256 + PGM_MAGIC2)
  2398. + #define RPGM_FORMAT (PGM_MAGIC1 * 256 + RPGM_MAGIC2)
  2399. + #define PGM_TYPE PGM_FORMAT
  2400. + /* Macro for turning a format number into a type number. */
  2401. + #define PGM_FORMAT_TYPE(f) ((f) == PGM_FORMAT || (f) == RPGM_FORMAT ? PGM_TYPE : PBM_FORMAT_TYPE(f))
  2402. + /* Declarations of routines. */
  2403. + void pgm_init ARGS(( int* argcP, char* argv[] ));
  2404. + #define pgm_allocarray( cols, rows ) ((gray**) pm_allocarray( cols, rows, sizeof(gray) ))
  2405. + #define pgm_allocrow( cols ) ((gray*) pm_allocrow( cols, sizeof(gray) ))
  2406. + #define pgm_freearray( grays, rows ) pm_freearray( (char**) grays, rows )
  2407. + #define pgm_freerow( grayrow ) pm_freerow( (char*) grayrow )
  2408. + gray** pgm_readpgm ARGS(( FILE* file, int* colsP, int* rowsP, gray* maxvalP ));
  2409. + void pgm_readpgminit ARGS(( FILE* file, int* colsP, int* rowsP, gray* maxvalP, int* formatP ));
  2410. + void pgm_readpgmrow ARGS(( FILE* file, gray* grayrow, int cols, gray maxval, int format ));
  2411. + void pgm_writepgm ARGS(( FILE* file, gray** grays, int cols, int rows, gray maxval, int forceplain ));
  2412. + void pgm_writepgminit ARGS(( FILE* file, int cols, int rows, gray maxval, int forceplain ));
  2413. + void pgm_writepgmrow ARGS(( FILE* file, gray* grayrow, int cols, gray maxval, int forceplain ));
  2414. + extern gray pgm_pbmmaxval;
  2415. + /* This is the maxval used when a PGM program reads a PBM file.  Normally
  2416. + ** it is 1; however, for some programs, a larger value gives better results
  2417. + */
  2418. + #endif /*_PGM_H_*/
  2419. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmall.lst pbmplus.new/pnm/pnmall.lst
  2420. *** pbmplus.old/pnm/pnmall.lst
  2421. --- pbmplus.new/pnm/pnmall.lst    Thu Jul 18 19:06:26 1991
  2422. ***************
  2423. *** 0 ****
  2424. --- 1,4 ----
  2425. + libpnm.a
  2426. + ../ppm/libppm.a
  2427. + ../pgm/libpgm.a
  2428. + ../pbm/libpbm.a
  2429. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmarith.c pbmplus.new/pnm/pnmarith.c
  2430. *** pbmplus.old/pnm/pnmarith.c    Fri Apr 12 00:31:06 1991
  2431. --- pbmplus.new/pnm/pnmarith.c    Sat Jun 15 22:21:40 1991
  2432. ***************
  2433. *** 59,64 ****
  2434. --- 59,68 ----
  2435.       ifp2 = pm_openr( argv[argn] );
  2436.       ++argn;
  2437.   
  2438. +     setmode( fileno( ifp1 ), O_BINARY );
  2439. +     setmode( fileno( ifp2 ), O_BINARY );
  2440. +     setmode( fileno( stdout ), O_BINARY );
  2441.       if ( argn != argc )
  2442.       pm_usage( usage );
  2443.   
  2444. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmcat.c pbmplus.new/pnm/pnmcat.c
  2445. *** pbmplus.old/pnm/pnmcat.c    Fri Apr 12 00:31:00 1991
  2446. --- pbmplus.new/pnm/pnmcat.c    Sat Jun 15 22:30:36 1991
  2447. ***************
  2448. *** 101,106 ****
  2449. --- 101,110 ----
  2450.       else
  2451.       ifp[0] = stdin;
  2452.   
  2453. +     for ( i = 0; i < nfiles; ++i )
  2454. +         setmode( fileno( ifp[i] ), O_BINARY );
  2455. +     setmode( fileno( stdout ), O_BINARY );
  2456.       newcols = 0;
  2457.       newrows = 0;
  2458.       for ( i = 0; i < nfiles; ++i )
  2459. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmconvo.c pbmplus.new/pnm/pnmconvo.c
  2460. *** pbmplus.old/pnm/pnmconvo.c    Fri Apr 12 00:31:06 1991
  2461. --- pbmplus.new/pnm/pnmconvo.c    Sat Jun 15 22:20:22 1991
  2462. ***************
  2463. *** 54,59 ****
  2464. --- 54,63 ----
  2465.       else
  2466.       ifp = stdin;
  2467.   
  2468. +     setmode( fileno( ifp ), O_BINARY );
  2469. +     setmode( fileno( cifp ), O_BINARY );
  2470. +     setmode( fileno( stdout ), O_BINARY );
  2471.       if ( argn != argc )
  2472.       pm_usage( usage );
  2473.   
  2474. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmcrop.c pbmplus.new/pnm/pnmcrop.c
  2475. *** pbmplus.old/pnm/pnmcrop.c    Fri Apr 12 00:31:06 1991
  2476. --- pbmplus.new/pnm/pnmcrop.c    Sat Jun 15 22:19:52 1991
  2477. ***************
  2478. *** 56,61 ****
  2479. --- 56,64 ----
  2480.       else
  2481.       ifp = stdin;
  2482.   
  2483. +     setmode( fileno( ifp ), O_BINARY );
  2484. +     setmode( fileno( stdout ), O_BINARY );
  2485.       if ( argn != argc )
  2486.       pm_usage( usage );
  2487.   
  2488. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmcut.c pbmplus.new/pnm/pnmcut.c
  2489. *** pbmplus.old/pnm/pnmcut.c    Fri Apr 12 00:31:00 1991
  2490. --- pbmplus.new/pnm/pnmcut.c    Sat Jun 15 22:19:48 1991
  2491. ***************
  2492. *** 46,51 ****
  2493. --- 46,54 ----
  2494.       else
  2495.       ifp = stdin;
  2496.   
  2497. +     setmode( fileno( ifp ), O_BINARY );
  2498. +     setmode( fileno( stdout ), O_BINARY );
  2499.       pnm_readpnminit( ifp, &cols, &rows, &maxval, &format );
  2500.       xelrow = pnm_allocrow( cols );
  2501.   
  2502. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmdepth.c pbmplus.new/pnm/pnmdepth.c
  2503. *** pbmplus.old/pnm/pnmdepth.c    Fri Apr 12 00:31:10 1991
  2504. --- pbmplus.new/pnm/pnmdepth.c    Sat Jun 15 22:19:44 1991
  2505. ***************
  2506. *** 47,52 ****
  2507. --- 47,55 ----
  2508.       else
  2509.       ifp = stdin;
  2510.   
  2511. +     setmode( fileno( ifp ), O_BINARY );
  2512. +     setmode( fileno( stdout ), O_BINARY );
  2513.       if ( argn != argc )
  2514.       pm_usage( usage );
  2515.   
  2516. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmenlar.c pbmplus.new/pnm/pnmenlar.c
  2517. *** pbmplus.old/pnm/pnmenlar.c    Fri Apr 12 00:31:02 1991
  2518. --- pbmplus.new/pnm/pnmenlar.c    Sat Jun 15 22:19:40 1991
  2519. ***************
  2520. *** 42,47 ****
  2521. --- 42,50 ----
  2522.       else
  2523.       ifp = stdin;
  2524.   
  2525. +     setmode( fileno( ifp ), O_BINARY );
  2526. +     setmode( fileno( stdout ), O_BINARY );
  2527.       if ( argn != argc )
  2528.       pm_usage( usage );
  2529.   
  2530. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmfile.c pbmplus.new/pnm/pnmfile.c
  2531. *** pbmplus.old/pnm/pnmfile.c    Fri Apr 12 00:31:02 1991
  2532. --- pbmplus.new/pnm/pnmfile.c    Sat Jun 15 22:19:34 1991
  2533. ***************
  2534. *** 30,35 ****
  2535. --- 30,37 ----
  2536.       for ( argn = 1; argn < argc; ++argn )
  2537.           {
  2538.           ifp = pm_openr( argv[argn] );
  2539. +         setmode( fileno( ifp ), O_BINARY );
  2540. +         setmode( fileno( stdout ), O_BINARY );
  2541.           describe_one( argv[argn], ifp );
  2542.           pm_close( ifp );
  2543.           }
  2544. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmflip.c pbmplus.new/pnm/pnmflip.c
  2545. *** pbmplus.old/pnm/pnmflip.c    Fri Apr 12 00:31:00 1991
  2546. --- pbmplus.new/pnm/pnmflip.c    Sat Jun 15 22:19:10 1991
  2547. ***************
  2548. *** 64,69 ****
  2549. --- 64,72 ----
  2550.       else
  2551.       ifp = stdin;
  2552.   
  2553. +     setmode( fileno( ifp ), O_BINARY );
  2554. +     setmode( fileno( stdout ), O_BINARY );
  2555.       if ( argn != argc )
  2556.       pm_usage( usage );
  2557.   
  2558. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmgamma.c pbmplus.new/pnm/pnmgamma.c
  2559. *** pbmplus.old/pnm/pnmgamma.c    Fri Apr 12 00:31:06 1991
  2560. --- pbmplus.new/pnm/pnmgamma.c    Sat Jun 15 22:19:06 1991
  2561. ***************
  2562. *** 79,84 ****
  2563. --- 79,87 ----
  2564.       else 
  2565.       ifp = stdin;
  2566.   
  2567. +     setmode( fileno( ifp ), O_BINARY );
  2568. +     setmode( fileno( stdout ), O_BINARY );
  2569.       if ( argn != argc )
  2570.       pm_usage( usage );
  2571.   
  2572. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnminver.c pbmplus.new/pnm/pnminver.c
  2573. *** pbmplus.old/pnm/pnminver.c    Fri Apr 12 00:31:00 1991
  2574. --- pbmplus.new/pnm/pnminver.c    Sat Jun 15 22:19:02 1991
  2575. ***************
  2576. *** 32,37 ****
  2577. --- 32,40 ----
  2578.       else
  2579.       ifp = stdin;
  2580.   
  2581. +     setmode( fileno( ifp ), O_BINARY );
  2582. +     setmode( fileno( stdout ), O_BINARY );
  2583.       pnm_readpnminit( ifp, &cols, &rows, &maxval, &format );
  2584.       pnm_writepnminit( stdout, cols, rows, maxval, format, 0 );
  2585.       xelrow = pnm_allocrow( cols );
  2586. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmmerge.c pbmplus.new/pnm/pnmmerge.c
  2587. *** pbmplus.old/pnm/pnmmerge.c    Fri Apr 12 00:31:02 1991
  2588. --- pbmplus.new/pnm/pnmmerge.c    Fri Jul 19 19:42:06 1991
  2589. ***************
  2590. *** 28,60 ****
  2591.   
  2592.   #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) m( argc, argv ); }
  2593.   
  2594. !     TRY("pnmarith", pnmarith_main);
  2595. !     TRY("pnmcat", pnmcat_main);
  2596. !     TRY("pnmconvol", pnmconvol_main);
  2597. !     TRY("pnmcrop", pnmcrop_main);
  2598. !     TRY("pnmcut", pnmcut_main);
  2599. !     TRY("pnmdepth", pnmdepth_main);
  2600. !     TRY("pnmenlarge", pnmenlarge_main);
  2601. !     TRY("pnmfile", pnmfile_main);
  2602. !     TRY("pnmflip", pnmflip_main);
  2603. !     TRY("pnmgamma", pnmgamma_main);
  2604. !     TRY("pnminvert", pnminvert_main);
  2605. !     TRY("pnmnoraw", pnmnoraw_main);
  2606. !     TRY("pnmpaste", pnmpaste_main);
  2607. !     TRY("pnmrotate", pnmrotate_main);
  2608. !     TRY("pnmscale", pnmscale_main);
  2609. !     TRY("pnmshear", pnmshear_main);
  2610. !     TRY("pnmtile", pnmtile_main);
  2611. !     TRY("pnmtorast", pnmtorast_main);
  2612.   #ifdef LIBTIFF
  2613. !     TRY("pnmtotiff", pnmtotiff_main);
  2614.   #endif /*LIBTIFF*/
  2615. !     TRY("pnmtoxwd", pnmtoxwd_main);
  2616. !     TRY("rasttopnm", rasttopnm_main);
  2617.   #ifdef LIBTIFF
  2618. !     TRY("tifftopnm", tifftopnm_main);
  2619.   #endif /*LIBTIFF*/
  2620. !     TRY("xwdtopnm", xwdtopnm_main);
  2621.   
  2622.       (void) fprintf(
  2623.       stderr, "pnmmerge: \"%s\" is an unknown PNM program!\n", cp );
  2624. --- 28,60 ----
  2625.   
  2626.   #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) m( argc, argv ); }
  2627.   
  2628. !     TRY("pnmarith.exe", pnmarith_main);
  2629. !     TRY("pnmcat.exe", pnmcat_main);
  2630. !     TRY("pnmconvo.exe", pnmconvol_main);
  2631. !     TRY("pnmcrop.exe", pnmcrop_main);
  2632. !     TRY("pnmcut.exe", pnmcut_main);
  2633. !     TRY("pnmdepth.exe", pnmdepth_main);
  2634. !     TRY("pnmenlar.exe", pnmenlarge_main);
  2635. !     TRY("pnmfile.exe", pnmfile_main);
  2636. !     TRY("pnmflip.exe", pnmflip_main);
  2637. !     TRY("pnmgamma.exe", pnmgamma_main);
  2638. !     TRY("pnminver.exe", pnminvert_main);
  2639. !     TRY("pnmnoraw.exe", pnmnoraw_main);
  2640. !     TRY("pnmpaste.exe", pnmpaste_main);
  2641. !     TRY("pnmrotat.exe", pnmrotate_main);
  2642. !     TRY("pnmscale.exe", pnmscale_main);
  2643. !     TRY("pnmshear.exe", pnmshear_main);
  2644. !     TRY("pnmtile.exe", pnmtile_main);
  2645. !     TRY("pnmtoras.exe", pnmtorast_main);
  2646.   #ifdef LIBTIFF
  2647. !     TRY("pnmtotif.exe", pnmtotiff_main);
  2648.   #endif /*LIBTIFF*/
  2649. !     TRY("pnmtoxwd.exe", pnmtoxwd_main);
  2650. !     TRY("rasttopn.exe", rasttopnm_main);
  2651.   #ifdef LIBTIFF
  2652. !     TRY("tifftopn.exe", tifftopnm_main);
  2653.   #endif /*LIBTIFF*/
  2654. !     TRY("xwdtopnm.exe", xwdtopnm_main);
  2655.   
  2656.       (void) fprintf(
  2657.       stderr, "pnmmerge: \"%s\" is an unknown PNM program!\n", cp );
  2658. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmmerge.lst pbmplus.new/pnm/pnmmerge.lst
  2659. *** pbmplus.old/pnm/pnmmerge.lst
  2660. --- pbmplus.new/pnm/pnmmerge.lst    Fri Jul 19 19:39:46 1991
  2661. ***************
  2662. *** 0 ****
  2663. --- 1,25 ----
  2664. + pnmarith.o
  2665. + pnmcat.o
  2666. + pnmconvo.o
  2667. + pnmcrop.o
  2668. + pnmcut.o
  2669. + pnmdepth.o
  2670. + pnmenlar.o
  2671. + pnmfile.o
  2672. + pnmflip.o
  2673. + pnminver.o
  2674. + pnmnoraw.o
  2675. + pnmpaste.o
  2676. + pnmscale.o
  2677. + pnmtile.o
  2678. + pnmtoras.o
  2679. + pnmtoxwd.o
  2680. + rasttopn.o
  2681. + xwdtopnm.o
  2682. + pnmgamma.o
  2683. + pnmrotat.o
  2684. + pnmshear.o
  2685. + libpnm.a
  2686. + ../ppm/libppm.a
  2687. + ../pgm/libpgm.a
  2688. + ../pbm/libpbm.a
  2689. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmnoraw.c pbmplus.new/pnm/pnmnoraw.c
  2690. *** pbmplus.old/pnm/pnmnoraw.c    Fri Apr 12 00:31:02 1991
  2691. --- pbmplus.new/pnm/pnmnoraw.c    Sat Jun 15 22:18:52 1991
  2692. ***************
  2693. *** 31,36 ****
  2694. --- 31,39 ----
  2695.       else
  2696.       ifp = stdin;
  2697.   
  2698. +     setmode( fileno( ifp ), O_BINARY );
  2699. +     setmode( fileno( stdout ), O_BINARY );
  2700.       pnm_readpnminit( ifp, &cols, &rows, &maxval, &format );
  2701.       pnm_writepnminit( stdout, cols, rows, maxval, format, 1 );
  2702.       xelrow = pnm_allocrow( cols );
  2703. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmpaste.c pbmplus.new/pnm/pnmpaste.c
  2704. *** pbmplus.old/pnm/pnmpaste.c    Fri Apr 12 00:31:00 1991
  2705. --- pbmplus.new/pnm/pnmpaste.c    Sat Jun 15 22:18:44 1991
  2706. ***************
  2707. *** 56,61 ****
  2708. --- 56,65 ----
  2709.       else
  2710.       ifp2 = stdin;
  2711.   
  2712. +     setmode( fileno( ifp1 ), O_BINARY );
  2713. +     setmode( fileno( ifp2 ), O_BINARY );
  2714. +     setmode( fileno( stdout ), O_BINARY );
  2715.       if ( argn != argc )
  2716.       pm_usage( usage );
  2717.   
  2718. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmrotat.c pbmplus.new/pnm/pnmrotat.c
  2719. *** pbmplus.old/pnm/pnmrotat.c    Fri Apr 12 00:31:10 1991
  2720. --- pbmplus.new/pnm/pnmrotat.c    Sat Jun 15 22:18:14 1991
  2721. ***************
  2722. *** 80,85 ****
  2723. --- 80,88 ----
  2724.       else
  2725.       ifp = stdin;
  2726.   
  2727. +     setmode( fileno( ifp ), O_BINARY );
  2728. +     setmode( fileno( stdout ), O_BINARY );
  2729.       if ( argn != argc )
  2730.       pm_usage( usage );
  2731.   
  2732. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmscale.c pbmplus.new/pnm/pnmscale.c
  2733. *** pbmplus.old/pnm/pnmscale.c    Fri Apr 12 00:31:10 1991
  2734. --- pbmplus.new/pnm/pnmscale.c    Sat Jun 15 22:18:10 1991
  2735. ***************
  2736. *** 152,157 ****
  2737. --- 152,160 ----
  2738.       else
  2739.       ifp = stdin;
  2740.   
  2741. +     setmode( fileno( ifp ), O_BINARY );
  2742. +     setmode( fileno( stdout ), O_BINARY );
  2743.       if ( argn != argc )
  2744.       pm_usage( usage );
  2745.   
  2746. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmshear.c pbmplus.new/pnm/pnmshear.c
  2747. *** pbmplus.old/pnm/pnmshear.c    Fri Apr 12 00:31:10 1991
  2748. --- pbmplus.new/pnm/pnmshear.c    Sat Jun 15 22:18:06 1991
  2749. ***************
  2750. *** 73,78 ****
  2751. --- 73,81 ----
  2752.       else
  2753.       ifp = stdin;
  2754.   
  2755. +     setmode( fileno( ifp ), O_BINARY );
  2756. +     setmode( fileno( stdout ), O_BINARY );
  2757.       if ( argn != argc )
  2758.       pm_usage( usage );
  2759.   
  2760. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmtile.c pbmplus.new/pnm/pnmtile.c
  2761. *** pbmplus.old/pnm/pnmtile.c    Fri Apr 12 00:31:00 1991
  2762. --- pbmplus.new/pnm/pnmtile.c    Sat Jun 15 22:18:02 1991
  2763. ***************
  2764. *** 42,47 ****
  2765. --- 42,50 ----
  2766.       else
  2767.       ifp = stdin;
  2768.   
  2769. +     setmode( fileno( ifp ), O_BINARY );
  2770. +     setmode( fileno( stdout ), O_BINARY );
  2771.       xels = pnm_readpnm( ifp, &cols, &rows, &maxval, &format );
  2772.       pm_close( ifp );
  2773.   
  2774. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmtoras.c pbmplus.new/pnm/pnmtoras.c
  2775. *** pbmplus.old/pnm/pnmtoras.c    Fri Apr 12 00:31:04 1991
  2776. --- pbmplus.new/pnm/pnmtoras.c    Sat Jun 15 22:17:58 1991
  2777. ***************
  2778. *** 66,71 ****
  2779. --- 66,74 ----
  2780.       else
  2781.       ifp = stdin;
  2782.   
  2783. +     setmode( fileno( ifp ), O_BINARY );
  2784. +     setmode( fileno( stdout ), O_BINARY );
  2785.       if ( argn != argc )
  2786.       pm_usage( usage );
  2787.   
  2788. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmtotif.c pbmplus.new/pnm/pnmtotif.c
  2789. *** pbmplus.old/pnm/pnmtotif.c    Fri Apr 12 00:31:08 1991
  2790. --- pbmplus.new/pnm/pnmtotif.c    Sat Jun 15 22:17:52 1991
  2791. ***************
  2792. *** 72,77 ****
  2793. --- 72,80 ----
  2794.       ifp = stdin;
  2795.       }
  2796.   
  2797. +     setmode( fileno( ifp ), O_BINARY );
  2798. +     setmode( fileno( stdout ), O_BINARY );
  2799.       xels = pnm_readpnm( ifp, &cols, &rows, &maxval, &format );
  2800.       pm_close( ifp );
  2801.   
  2802. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/pnmtoxwd.c pbmplus.new/pnm/pnmtoxwd.c
  2803. *** pbmplus.old/pnm/pnmtoxwd.c    Fri Apr 12 00:31:06 1991
  2804. --- pbmplus.new/pnm/pnmtoxwd.c    Sat Jun 15 22:17:40 1991
  2805. ***************
  2806. *** 63,68 ****
  2807. --- 63,71 ----
  2808.       dumpname = "stdin";
  2809.       ifp = stdin;
  2810.       }
  2811. +     setmode( fileno( ifp ), O_BINARY );
  2812. +     setmode( fileno( stdout ), O_BINARY );
  2813.       
  2814.       if ( argn != argc )
  2815.       pm_usage( usage );
  2816. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/ppm.h pbmplus.new/pnm/ppm.h
  2817. *** pbmplus.old/pnm/ppm.h
  2818. --- pbmplus.new/pnm/ppm.h    Fri Apr 12 00:31:14 1991
  2819. ***************
  2820. *** 0 ****
  2821. --- 1,91 ----
  2822. + /* ppm.h - header file for libppm portable pixmap library
  2823. + */
  2824. + #ifndef _PPM_H_
  2825. + #define _PPM_H_
  2826. + #include "pgm.h"
  2827. + typedef gray pixval;
  2828. + #ifdef PPM_PACKCOLORS
  2829. + #define PPM_MAXMAXVAL 1023
  2830. + typedef unsigned long pixel;
  2831. + #define PPM_GETR(p) (((p) & 0x3ff00000) >> 20)
  2832. + #define PPM_GETG(p) (((p) & 0xffc00) >> 10)
  2833. + #define PPM_GETB(p) ((p) & 0x3ff)
  2834. + #define PPM_ASSIGN(p,red,grn,blu) (p) = ((pixel) (red) << 20) | ((pixel) (grn) << 10) | (pixel) (blu)
  2835. + #define PPM_EQUAL(p,q) ((p) == (q))
  2836. + #else /*PPM_PACKCOLORS*/
  2837. + #define PPM_MAXMAXVAL PGM_MAXMAXVAL
  2838. + typedef struct
  2839. +     {
  2840. +     pixval r, g, b;
  2841. +     } pixel;
  2842. + #define PPM_GETR(p) ((p).r)
  2843. + #define PPM_GETG(p) ((p).g)
  2844. + #define PPM_GETB(p) ((p).b)
  2845. + #define PPM_ASSIGN(p,red,grn,blu) do { (p).r = (red); (p).g = (grn); (p).b = (blu); } while ( 0 )
  2846. + #define PPM_EQUAL(p,q) ( (p).r == (q).r && (p).g == (q).g && (p).b == (q).b )
  2847. + #endif /*PPM_PACKCOLORS*/
  2848. + /* Magic constants. */
  2849. + #define PPM_MAGIC1 'P'
  2850. + #define PPM_MAGIC2 '3'
  2851. + #define RPPM_MAGIC2 '6'
  2852. + #define PPM_FORMAT (PPM_MAGIC1 * 256 + PPM_MAGIC2)
  2853. + #define RPPM_FORMAT (PPM_MAGIC1 * 256 + RPPM_MAGIC2)
  2854. + #define PPM_TYPE PPM_FORMAT
  2855. + /* Macro for turning a format number into a type number. */
  2856. + #define PPM_FORMAT_TYPE(f) ((f) == PPM_FORMAT || (f) == RPPM_FORMAT ? PPM_TYPE : PGM_FORMAT_TYPE(f))
  2857. + /* Declarations of routines. */
  2858. + void ppm_init ARGS(( int* argcP, char* argv[] ));
  2859. + #define ppm_allocarray( cols, rows ) ((pixel**) pm_allocarray( cols, rows, sizeof(pixel) ))
  2860. + #define ppm_allocrow( cols ) ((pixel*) pm_allocrow( cols, sizeof(pixel) ))
  2861. + #define ppm_freearray( pixels, rows ) pm_freearray( (char**) pixels, rows )
  2862. + #define ppm_freerow( pixelrow ) pm_freerow( (char*) pixelrow )
  2863. + pixel** ppm_readppm ARGS(( FILE* file, int* colsP, int* rowsP, pixval* maxvalP ));
  2864. + void ppm_readppminit ARGS(( FILE* file, int* colsP, int* rowsP, pixval* maxvalP, int* formatP ));
  2865. + void ppm_readppmrow ARGS(( FILE* file, pixel* pixelrow, int cols, pixval maxval, int format ));
  2866. + void ppm_writeppm ARGS(( FILE* file, pixel** pixels, int cols, int rows, pixval maxval, int forceplain ));
  2867. + void ppm_writeppminit ARGS(( FILE* file, int cols, int rows, pixval maxval, int forceplain ));
  2868. + void ppm_writeppmrow ARGS(( FILE* file, pixel* pixelrow, int cols, pixval maxval, int forceplain ));
  2869. + pixel ppm_parsecolor ARGS(( char* colorname, pixval maxval ));
  2870. + char* ppm_colorname ARGS(( pixel* colorP, pixval maxval, int hexok ));
  2871. + extern pixval ppm_pbmmaxval;
  2872. + /* This is the maxval used when a PPM program reads a PBM file.  Normally
  2873. + ** it is 1; however, for some programs, a larger value gives better results
  2874. + */
  2875. + /* Color scaling macro -- to make writing ppmtowhatever easier. */
  2876. + #define PPM_DEPTH(newp,p,oldmaxval,newmaxval) \
  2877. +     PPM_ASSIGN( (newp), \
  2878. +             (int) PPM_GETR(p) * (newmaxval) / (oldmaxval), \
  2879. +             (int) PPM_GETG(p) * (newmaxval) / (oldmaxval), \
  2880. +             (int) PPM_GETB(p) * (newmaxval) / (oldmaxval) )
  2881. + /* Luminance macro. */
  2882. + #define PPM_LUMIN(p) ( 0.299 * PPM_GETR(p) + 0.587 * PPM_GETG(p) + 0.114 * PPM_GETB(p) )
  2883. + #endif /*_PPM_H_*/
  2884. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/ppmcmap.h pbmplus.new/pnm/ppmcmap.h
  2885. *** pbmplus.old/pnm/ppmcmap.h
  2886. --- pbmplus.new/pnm/ppmcmap.h    Fri Apr 12 00:31:14 1991
  2887. ***************
  2888. *** 0 ****
  2889. --- 1,44 ----
  2890. + /* ppmcmap.h - header file for colormap routines in libppm
  2891. + */
  2892. + /* Color histogram stuff. */
  2893. + typedef struct colorhist_item* colorhist_vector;
  2894. + struct colorhist_item
  2895. +     {
  2896. +     pixel color;
  2897. +     int value;
  2898. +     };
  2899. + typedef struct colorhist_list_item* colorhist_list;
  2900. + struct colorhist_list_item
  2901. +     {
  2902. +     struct colorhist_item ch;
  2903. +     colorhist_list next;
  2904. +     };
  2905. + colorhist_vector ppm_computecolorhist ARGS(( pixel** pixels, int cols, int rows, int maxcolors, int* colorsP ));
  2906. + /* (Returns a colorhist *colorsP long (with space allocated for maxcolors). */
  2907. + void ppm_addtocolorhist ARGS(( colorhist_vector chv, int* colorsP, int maxcolors, pixel* colorP, int value, int position ));
  2908. + void ppm_freecolorhist ARGS(( colorhist_vector chv ));
  2909. + /* Color hash table stuff. */
  2910. + typedef colorhist_list* colorhash_table;
  2911. + colorhash_table ppm_computecolorhash ARGS(( pixel** pixels, int cols, int rows, int maxcolors, int* colorsP ));
  2912. + int
  2913. + ppm_lookupcolor ARGS(( colorhash_table cht, pixel* colorP ));
  2914. + colorhist_vector ppm_colorhashtocolorhist ARGS(( colorhash_table cht, int maxcolors ));
  2915. + colorhash_table ppm_colorhisttocolorhash ARGS(( colorhist_vector chv, int colors ));
  2916. + void ppm_addtocolorhash ARGS(( colorhash_table cht, pixel* colorP, int value ));
  2917. + colorhash_table ppm_alloccolorhash ARGS(( void ));
  2918. + void ppm_freecolorhash ARGS(( colorhash_table cht ));
  2919. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/ppmdraw.h pbmplus.new/pnm/ppmdraw.h
  2920. *** pbmplus.old/pnm/ppmdraw.h
  2921. --- pbmplus.new/pnm/ppmdraw.h    Fri Apr 12 00:31:14 1991
  2922. ***************
  2923. *** 0 ****
  2924. --- 1,102 ----
  2925. + /* ppmdraw.h - header file for simple drawing routines in libppm
  2926. + **
  2927. + ** Simple, yes, and also fairly slow if the truth be told; but also very
  2928. + ** flexible and powerful.
  2929. + **
  2930. + ** The two basic concepts are the drawproc and clientdata.  All the drawing
  2931. + ** routines take a drawproc that does the actual drawing.  A drawproc draws
  2932. + ** a single point, and it looks like this:
  2933. + */
  2934. + void ppmd_point_drawproc ARGS(( pixel** pixels, int cols, int rows, pixval maxval, int x, int y, char* clientdata ));
  2935. + /*
  2936. + ** So, you call a drawing routine, e.g. ppmd_line(), and pass it a drawproc;
  2937. + ** it calls the drawproc for each point it wants to draw.  Why so complicated?
  2938. + ** Because you can define your own drawprocs to do more interesting things than
  2939. + ** simply draw the point.  For example, you could make one that calls back into
  2940. + ** another drawing routine, say ppmd_circle() to draw a circle at each point
  2941. + ** of a line.
  2942. + **
  2943. + ** Slow?  Well sure, we're talking results here, not realtime.  You can do
  2944. + ** tricks with this arrangement that you couldn't even think of before.
  2945. + ** Still, to speed things up for the 90% case you can use this:
  2946. + */
  2947. + #ifdef __STDC__
  2948. + #define PPMD_NULLDRAWPROC (void (*)(pixel**, int, int, pixval, int, int, char*)) 0
  2949. + #else /*__STDC__*/
  2950. + #define PPMD_NULLDRAWPROC (void (*)()) 0
  2951. + #endif /*__STDC__*/
  2952. + /*
  2953. + ** Just like ppmd_point_drawproc() it simply draws the point, but it's done
  2954. + ** inline, and clipping is assumed to be handled at a higher level.
  2955. + **
  2956. + ** Now, what about clientdata.  Well, it's an arbitrary pointer, and can
  2957. + ** mean something different to each different drawproc.  For the above two
  2958. + ** drawprocs, clientdata should be a pointer to a pixel holding the color
  2959. + ** to be drawn.  Other drawprocs can use it to point to something else,
  2960. + ** e.g. some structure to be modified, or they can ignore it.
  2961. + */
  2962. + /* Outline drawing routines.  Lines, splines, circles, etc. */
  2963. + int ppmd_setlinetype ARGS(( int type ));
  2964. + #define PPMD_LINETYPE_NORMAL 0
  2965. + #define PPMD_LINETYPE_NODIAGS 1
  2966. + /* If you set NODIAGS, all pixels drawn by ppmd_line() will be 4-connected
  2967. + ** instead of 8-connected; in other words, no diagonals.  This is useful
  2968. + ** for some applications, for example when you draw many parallel lines
  2969. + ** and you want them to fit together without gaps.
  2970. + */
  2971. + int ppmd_setlineclipping ARGS(( int clip ));
  2972. + /* Normally, ppmd_line() clips to the edges of the pixmap.  You can use this
  2973. + ** routine to disable the clipping, for example if you are using a drawproc
  2974. + ** that wants to do its own clipping.
  2975. + */
  2976. + void ppmd_line ARGS(( pixel** pixels, int cols, int rows, pixval maxval, int x0, int y0, int x1, int y1, void (*drawprocP)(pixel**, int, int, pixval, int, int, char*), char* clientdata ));
  2977. + /* Draws a line from (x0, y0) to (x1, y1).
  2978. + */
  2979. + void ppmd_spline3 ARGS(( pixel** pixels, int cols, int rows, pixval maxval, int x0, int y0, int x1, int y1, int x2, int y2, void (*drawprocP)(pixel**, int, int, pixval, int, int, char*), char* clientdata ));
  2980. + /* Draws a three-point spline from (x0, y0) to (x2, y2), with (x1, y1) as
  2981. + ** the control point.  All drawing is done via ppmd_line(), so the routines
  2982. + ** that control it control ppmd_spline3() as well.
  2983. + */
  2984. + void ppmd_polyspline ARGS(( pixel** pixels, int cols, int rows, pixval maxval, int x0, int y0, int nc, int* xc, int* yc, int x1, int y1, void (*drawprocP)(pixel**, int, int, pixval, int, int, char*), char* clientdata ));
  2985. + /* Draws a bunch of splines end to end.  (x0, y0) and (x1, y1) are the initial
  2986. + ** and final points, and the xc and yc are the intermediate control points.
  2987. + ** nc is the number of these control points.
  2988. + */
  2989. + void ppmd_circle ARGS(( pixel** pixels, int cols, int rows, pixval maxval, int cx, int cy, int radius, void (*drawprocP)(pixel**, int, int, pixval, int, int, char*), char* clientdata ));
  2990. + /* Draws a circle centered at (cx, cy) with the specified radius.
  2991. + */
  2992. + /* Simple filling routines.  Ok, so there's only one. */
  2993. + void ppmd_filledrectangle ARGS(( pixel** pixels, int cols, int rows, pixval maxval, int x, int y, int width, int height, void (*drawprocP)(pixel**, int, int, pixval, int, int, char*), char* clientdata ));
  2994. + /* Fills in the rectangle [x, y, width, height].
  2995. + */
  2996. + /* Arbitrary filling routines.  With these you can fill any outline that
  2997. + ** you can draw with the outline routines.
  2998. + */
  2999. + char* ppmd_fill_init( );
  3000. + /* Returns a blank fillhandle.
  3001. + */
  3002. + void ppmd_fill_drawproc ARGS(( pixel** pixels, int cols, int rows, pixval maxval, int x, int y, char* clientdata ));
  3003. + /* Use this drawproc to trace the outline you want filled.  Be sure to use
  3004. + ** the fillhandle as the clientdata.
  3005. + */
  3006. + void ppmd_fill ARGS(( pixel** pixels, int cols, int rows, pixval maxval, char* fillhandle, void (*drawprocP)(pixel**, int, int, pixval, int, int, char*), char* clientdata ));
  3007. + /* Once you've traced the outline, give the fillhandle to this routine to
  3008. + ** do the actual drawing.  As usual, it takes a drawproc and clientdata;
  3009. + ** you could define drawprocs to do stipple fills and such.
  3010. + */
  3011. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/rasttopn.c pbmplus.new/pnm/rasttopn.c
  3012. *** pbmplus.old/pnm/rasttopn.c    Fri Apr 12 00:31:04 1991
  3013. --- pbmplus.new/pnm/rasttopn.c    Sat Jun 15 22:17:34 1991
  3014. ***************
  3015. *** 44,49 ****
  3016. --- 44,52 ----
  3017.       else
  3018.       ifp = stdin;
  3019.   
  3020. +     setmode( fileno( ifp ), O_BINARY );
  3021. +     setmode( fileno( stdout ), O_BINARY );
  3022.       if ( argn != argc )
  3023.       pm_usage( "[rastfile]" );
  3024.   
  3025. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/tga.h pbmplus.new/pnm/tga.h
  3026. *** pbmplus.old/pnm/tga.h
  3027. --- pbmplus.new/pnm/tga.h    Fri Apr 12 00:31:14 1991
  3028. ***************
  3029. *** 0 ****
  3030. --- 1,39 ----
  3031. + /* tga.h - header file for Targa files
  3032. + */
  3033. +  
  3034. + /* Header definition. */
  3035. + struct ImageHeader {
  3036. +     unsigned char IDLength;        /* length of Identifier String */
  3037. +     unsigned char CoMapType;        /* 0 = no map */
  3038. +     unsigned char ImgType;        /* image type (see below for values) */
  3039. +     unsigned char Index_lo, Index_hi;    /* index of first color map entry */
  3040. +     unsigned char Length_lo, Length_hi;    /* number of entries in color map */
  3041. +     unsigned char CoSize;        /* size of color map entry (15,16,24,32) */
  3042. +     unsigned char X_org_lo, X_org_hi;    /* x origin of image */
  3043. +     unsigned char Y_org_lo, Y_org_hi;    /* y origin of image */
  3044. +     unsigned char Width_lo, Width_hi;    /* width of image */
  3045. +     unsigned char Height_lo, Height_hi;    /* height of image */
  3046. +     unsigned char PixelSize;        /* pixel size (8,16,24,32) */
  3047. +     unsigned char AttBits;        /* 4 bits, number of attribute bits per pixel */
  3048. +     unsigned char Rsrvd;        /* 1 bit, reserved */
  3049. +     unsigned char OrgBit;        /* 1 bit, origin: 0=lower left, 1=upper left */
  3050. +     unsigned char IntrLve;        /* 2 bits, interleaving flag */
  3051. +     };
  3052. + typedef char ImageIDField[256];
  3053. + /* Definitions for image types. */
  3054. + #define TGA_Null 0
  3055. + #define TGA_Map 1
  3056. + #define TGA_RGB 2
  3057. + #define TGA_Mono 3
  3058. + #define TGA_RLEMap 9
  3059. + #define TGA_RLERGB 10
  3060. + #define TGA_RLEMono 11
  3061. + #define TGA_CompMap 32
  3062. + #define TGA_CompMap4 33
  3063. + /* Definitions for interleave flag. */
  3064. + #define TGA_IL_None 0
  3065. + #define TGA_IL_Two 1
  3066. + #define TGA_IL_Four 2
  3067. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/tifftopn.c pbmplus.new/pnm/tifftopn.c
  3068. *** pbmplus.old/pnm/tifftopn.c    Fri Apr 12 00:31:08 1991
  3069. --- pbmplus.new/pnm/tifftopn.c    Sat Jun 15 22:17:28 1991
  3070. ***************
  3071. *** 73,78 ****
  3072. --- 73,82 ----
  3073.           pm_error( "error opening standard input as TIFF file", 0,0,0,0,0 );
  3074.       }
  3075.   
  3076. +     setmode( fileno( tif ), O_BINARY );
  3077. +     setmode( fileno( stdout ), O_BINARY );
  3078.       if ( argn != argc )
  3079.       pm_usage( usage );
  3080.   
  3081. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/xim.h pbmplus.new/pnm/xim.h
  3082. *** pbmplus.old/pnm/xim.h
  3083. --- pbmplus.new/pnm/xim.h    Fri Apr 12 00:32:48 1991
  3084. ***************
  3085. *** 0 ****
  3086. --- 1,121 ----
  3087. + /* xim.h - header file for Xim files
  3088. + **
  3089. + ** Taken from the X.V11R4 version of XimHeader.h:
  3090. + **
  3091. + ** Author: Philip R. Thompson
  3092. + ** Address:  phils@athena.mit.edu, 9-526 
  3093. + ** Note:  size of header should be 1024 (1K) bytes.
  3094. + ** $Header: /mit/phils/X/RCS/XimHeader.h,v 1.7 89/11/09 17:26:54 phils Exp Locker: phils $
  3095. + ** $Date: 89/11/09 17:26:54 $
  3096. + ** $Source: /mit/phils/X/RCS/XimHeader.h,v $
  3097. + */
  3098. + #define IMAGE_VERSION    3
  3099. + #ifndef _BYTE
  3100. + typedef unsigned char  byte;
  3101. + #define _BYTE  1
  3102. + #endif
  3103. + /* External ascii file format. */
  3104. + typedef struct ImageHeader {
  3105. +     char file_version[8];   /* header version */
  3106. +     char header_size[8];    /* Size of file header in bytes  */
  3107. +     char image_width[8];    /* Width of the raster image */
  3108. +     char image_height[8];   /* Height of the raster imgage */
  3109. +     char num_colors[8];     /* Actual number of entries in c_map */
  3110. +     char num_channels[3];   /* 0 or 1 = pixmap, 3 = RG&B buffers */
  3111. +     char bytes_per_line[5]; /* bytes per scanline */
  3112. +     char num_pictures[4];   /* Number of pictures in file */
  3113. +     char bits_per_channel[4]; /* usually 1 or 8 */
  3114. +     char alpha_channel[4];  /* Alpha channel flag */
  3115. +     char runlength[4];      /* Runlength encoded flag */
  3116. +     char author[48];        /* Name of who made it */
  3117. +     char date[32];          /* Date and time image was made */
  3118. +     char program[16];       /* Program that created this file */
  3119. +     char comment[96];       /* other viewing info. for this image */
  3120. +     unsigned char c_map[256][3]; /* RGB values of the pixmap indices */
  3121. + } ImageHeader, XimAsciiHeader;
  3122. + /* Internal binary format. */
  3123. + typedef struct Color {
  3124. +     byte pixel, red, grn, blu;
  3125. + } Color;
  3126. + typedef struct XimImage {
  3127. +     int width;             /* width of the image in pixels */
  3128. +     int height;            /* height of the image in pixels */
  3129. +     unsigned datasize;     /* size of one channel of data */
  3130. +     short nchannels;     /* number data channels in image */
  3131. +     short bits_channel;  /* usually 1 or 8 */
  3132. +     short bytes_per_line; /* bytes to hold one scanline */
  3133. +     byte* data;            /* pixmap or red channel data */
  3134. +     byte* grn_data;        /* green channel data */
  3135. +     byte* blu_data;        /* blue  channel data */
  3136. +     byte* other;           /* other (alpha) data */
  3137. +     unsigned alpha_flag :1; /* alpha channel flag */
  3138. +     unsigned packed_flag:1; /* data packed in one chunk of memory */
  3139. +     unsigned runlen_flag:1; /* runlength encoded data flag */
  3140. +     unsigned : 0;           /* future flags, word alignment */
  3141. +     short tpics, npics;    /* number of images, total & left in file */
  3142. +     short ncolors;         /*   "    "  colors in the color table */
  3143. +     Color* colors;         /* colortable, one byte per r/g/b & pixel */
  3144. +     char* author;         /* author credit, copyright, etc */
  3145. +     char* date;           /* date image was made, grabbed, etc. */
  3146. +     char* program;        /* program used to make this */
  3147. +     short ncomments;       /* number of comments strings */
  3148. +     char** comments;      /* pointers to null terminated strings */
  3149. +     char* offset;         /* original offset in machine memory */
  3150. +     float chroma_red[2];   /* x, y image chromacity coords */
  3151. +     float chroma_grn[2];
  3152. +     float chroma_blu[2];
  3153. +     float chroma_wht[2];
  3154. +     float gamma;           /* image storage gamma */
  3155. + } XimImage;
  3156. + /* Future external ascii variable length header - under review. */
  3157. + #if (VERSION == 4)
  3158. + typedef struct XimAsciiHeader {
  3159. +     char file_version[4];   /* header version */
  3160. +     char header_size[8];    /* Size of file header (fixed part only) */
  3161. +     char image_height[8];   /* Height of the raster imgage in pixels */
  3162. +     char image_width[8];    /* Width of the raster image in pixels */
  3163. +     char bytes_line[8];     /* Actual # of bytes separating scanlines */
  3164. +     char bits_channel[4];   /* Bits per channel (usually 1 or 8) */
  3165. +     char num_channels[4];   /* 1 = pixmap, 3 = RG&B buffers */
  3166. +     char alpha_channel[2];  /* Alpha channel flag */
  3167. +     char num_colors[4];     /* Number of entries in c_map (if any) */
  3168. +     char num_pictures[4];   /* Number of images in file */
  3169. +     char runlength_flag[2]; /* Runlength encoded flag */
  3170. +     char future_flags[8];
  3171. +     char author[48];        /* Name of who made it, from passwd entry */
  3172. +     char date[32];          /* Unix format date */
  3173. +     char program[32];       /* Program that created this */
  3174. +     char gamma[12];         /* image storage gamma */
  3175. +     char chroma_red[24];    /* image red primary chromaticity coords. */
  3176. +     char chroma_grn[24];    /*   "   green "          "         "     */
  3177. +     char chroma_blu[24];    /*   "   blue  "          "         "     */
  3178. +     char chroma_wht[24];    /*   "   white point      "         "     */
  3179. +     char comment_length[8]  /* Total length of comments */
  3180. +     /* char* comment;           Null separated comments  */
  3181. +     /* unsigned char c_map[];   RGB Colortable, (ncolors * 3 bytes) */
  3182. + }  XimAsciiHeader;
  3183. + #endif /*VERSION 4*/
  3184. + #ifndef rnd
  3185. + #define rnd(x)  ((int)((float)(x) + 0.5)) /* round a float to an int */
  3186. + #endif
  3187. + /* Note:
  3188. + * - All data is in char's in order to maintain easily portability
  3189. + *   across machines, and some human readibility.
  3190. + * - Images may be stored as pixmaps (8 bits/pixel) or as seperate
  3191. + *   red, green, blue channel data (24+ bits/pixel).
  3192. + * - An alpha channel is optional and is found after every num_channels
  3193. + *   of data.
  3194. + * - Pixmaps or RGB (and alpha) channel data are stored respectively
  3195. + *   after the header.
  3196. + * - If num_channels = 1, a pixmap is assumed and the colormap in the
  3197. + *   header is used.
  3198. + * - Data size = image_width * image_height.
  3199. + */
  3200. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/pnm/xwdtopnm.c pbmplus.new/pnm/xwdtopnm.c
  3201. *** pbmplus.old/pnm/xwdtopnm.c    Fri Apr 12 00:31:04 1991
  3202. --- pbmplus.new/pnm/xwdtopnm.c    Sat Jun 15 22:16:38 1991
  3203. ***************
  3204. *** 41,46 ****
  3205. --- 41,49 ----
  3206.       else
  3207.       ifp = stdin;
  3208.   
  3209. +     setmode( fileno( ifp ), O_BINARY );
  3210. +     setmode( fileno( stdout ), O_BINARY );
  3211.       getinit( ifp, &cols, &rows, &padright, &maxval, &visualclass, &format, &colors );
  3212.   
  3213.       pnm_writepnminit( stdout, cols, rows, (xelval) maxval, format, 0 );
  3214. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/delppm.bat pbmplus.new/ppm/delppm.bat
  3215. *** pbmplus.old/ppm/delppm.bat
  3216. --- pbmplus.new/ppm/delppm.bat    Fri Apr 12 22:49:26 1991
  3217. ***************
  3218. *** 0 ****
  3219. --- 1,34 ----
  3220. + del GIFTOPPM
  3221. + del GOULDTOP
  3222. + del ILBMTOPP
  3223. + del IMGTOPPM
  3224. + del MTVTOPPM
  3225. + del PCXTOPPM
  3226. + del PGMTOPPM
  3227. + del PI1TOPPM
  3228. + del PICTTOPP
  3229. + del PPMHIST
  3230. + del PPMMAKE
  3231. + del PPMPAT
  3232. + del PPMQUANT
  3233. + del PPMRELIE
  3234. + del PPMTOGIF
  3235. + del PPMTOICR
  3236. + del PPMTOILB
  3237. + del PPMTOPCX
  3238. + del PPMTOPGM
  3239. + del PPMTOPI1
  3240. + del PPMTOPIC
  3241. + del PPMTOPS
  3242. + del PPMTOPUZ
  3243. + del PPMTORGB
  3244. + del PPMTOUIL
  3245. + del PPMTOXPM
  3246. + del QRTTOPPM
  3247. + del RAWTOPPM
  3248. + del RGB3TOPP
  3249. + del SPCTOPPM
  3250. + del SPUTOPPM
  3251. + del TGATOPPM
  3252. + del XIMTOPPM
  3253. + del XPMTOPPM
  3254. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/exeppm.bat pbmplus.new/ppm/exeppm.bat
  3255. *** pbmplus.old/ppm/exeppm.bat
  3256. --- pbmplus.new/ppm/exeppm.bat    Fri Apr 12 22:48:58 1991
  3257. ***************
  3258. *** 0 ****
  3259. --- 1,34 ----
  3260. + copy /b c:\gcc\bin\stub.exe+GIFTOPPM   GIFTOPPM.exe
  3261. + copy /b c:\gcc\bin\stub.exe+GOULDTOP   GOULDTOP.exe
  3262. + copy /b c:\gcc\bin\stub.exe+ILBMTOPP   ILBMTOPP.exe
  3263. + copy /b c:\gcc\bin\stub.exe+IMGTOPPM   IMGTOPPM.exe
  3264. + copy /b c:\gcc\bin\stub.exe+MTVTOPPM   MTVTOPPM.exe
  3265. + copy /b c:\gcc\bin\stub.exe+PCXTOPPM   PCXTOPPM.exe
  3266. + copy /b c:\gcc\bin\stub.exe+PGMTOPPM   PGMTOPPM.exe
  3267. + copy /b c:\gcc\bin\stub.exe+PI1TOPPM   PI1TOPPM.exe
  3268. + copy /b c:\gcc\bin\stub.exe+PICTTOPP   PICTTOPP.exe
  3269. + copy /b c:\gcc\bin\stub.exe+PPMHIST    PPMHIST.exe
  3270. + copy /b c:\gcc\bin\stub.exe+PPMMAKE    PPMMAKE.exe
  3271. + copy /b c:\gcc\bin\stub.exe+PPMPAT     PPMPAT.exe
  3272. + copy /b c:\gcc\bin\stub.exe+PPMQUANT   PPMQUANT.exe
  3273. + copy /b c:\gcc\bin\stub.exe+PPMRELIE   PPMRELIE.exe
  3274. + copy /b c:\gcc\bin\stub.exe+PPMTOGIF   PPMTOGIF.exe
  3275. + copy /b c:\gcc\bin\stub.exe+PPMTOICR   PPMTOICR.exe
  3276. + copy /b c:\gcc\bin\stub.exe+PPMTOILB   PPMTOILB.exe
  3277. + copy /b c:\gcc\bin\stub.exe+PPMTOPCX   PPMTOPCX.exe
  3278. + copy /b c:\gcc\bin\stub.exe+PPMTOPGM   PPMTOPGM.exe
  3279. + copy /b c:\gcc\bin\stub.exe+PPMTOPI1   PPMTOPI1.exe
  3280. + copy /b c:\gcc\bin\stub.exe+PPMTOPIC   PPMTOPIC.exe
  3281. + copy /b c:\gcc\bin\stub.exe+PPMTOPS    PPMTOPS.exe
  3282. + copy /b c:\gcc\bin\stub.exe+PPMTOPUZ   PPMTOPUZ.exe
  3283. + copy /b c:\gcc\bin\stub.exe+PPMTORGB   PPMTORGB.exe
  3284. + copy /b c:\gcc\bin\stub.exe+PPMTOUIL   PPMTOUIL.exe
  3285. + copy /b c:\gcc\bin\stub.exe+PPMTOXPM   PPMTOXPM.exe
  3286. + copy /b c:\gcc\bin\stub.exe+QRTTOPPM   QRTTOPPM.exe
  3287. + copy /b c:\gcc\bin\stub.exe+RAWTOPPM   RAWTOPPM.exe
  3288. + copy /b c:\gcc\bin\stub.exe+RGB3TOPP   RGB3TOPP.exe
  3289. + copy /b c:\gcc\bin\stub.exe+SPCTOPPM   SPCTOPPM.exe
  3290. + copy /b c:\gcc\bin\stub.exe+SPUTOPPM   SPUTOPPM.exe
  3291. + copy /b c:\gcc\bin\stub.exe+TGATOPPM   TGATOPPM.exe
  3292. + copy /b c:\gcc\bin\stub.exe+XIMTOPPM   XIMTOPPM.exe
  3293. + copy /b c:\gcc\bin\stub.exe+XPMTOPPM   XPMTOPPM.exe
  3294. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/giftoppm.c pbmplus.new/ppm/giftoppm.c
  3295. *** pbmplus.old/ppm/giftoppm.c    Fri Apr 12 00:31:16 1991
  3296. --- pbmplus.new/ppm/giftoppm.c    Sat Jun 15 21:40:56 1991
  3297. ***************
  3298. *** 96,101 ****
  3299. --- 96,104 ----
  3300.           in = stdin;
  3301.       }
  3302.   
  3303. +     setmode( fileno( in ), O_BINARY );
  3304. +     setmode( fileno( stdout ), O_BINARY );
  3305.       if (argn != argc)
  3306.           pm_usage(usage);
  3307.   
  3308. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/gouldtop.c pbmplus.new/ppm/gouldtop.c
  3309. *** pbmplus.old/ppm/gouldtop.c    Fri Apr 12 00:32:48 1991
  3310. --- pbmplus.new/ppm/gouldtop.c    Sat Jun 15 21:39:16 1991
  3311. ***************
  3312. *** 39,44 ****
  3313. --- 39,47 ----
  3314.       else
  3315.           ifp = stdin;
  3316.   
  3317. +     setmode( fileno( ifp ), O_BINARY );
  3318. +     setmode( fileno( stdout ), O_BINARY );
  3319.       getgouldheader( ifp, &cols, &nlines, &bytesperline, &bitsperpixel, &NB);
  3320.   
  3321.       ppm_writeppminit(stdout, cols, nlines, MAXVAL, 0);
  3322. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ilbmtopp.c pbmplus.new/ppm/ilbmtopp.c
  3323. *** pbmplus.old/ppm/ilbmtopp.c    Fri Apr 12 00:31:16 1991
  3324. --- pbmplus.new/ppm/ilbmtopp.c    Sat Jun 15 21:39:10 1991
  3325. ***************
  3326. *** 40,45 ****
  3327. --- 40,48 ----
  3328.       else
  3329.       ifp = stdin;
  3330.   
  3331. +     setmode( fileno( ifp ), O_BINARY );
  3332. +     setmode( fileno( stdout ), O_BINARY );
  3333.       if ( argn != argc )
  3334.       pm_usage( "[ilbmfile]" );
  3335.   
  3336. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/imgtoppm.c pbmplus.new/ppm/imgtoppm.c
  3337. *** pbmplus.old/ppm/imgtoppm.c    Fri Apr 12 00:31:22 1991
  3338. --- pbmplus.new/ppm/imgtoppm.c    Sat Jun 15 21:39:06 1991
  3339. ***************
  3340. *** 40,45 ****
  3341. --- 40,48 ----
  3342.       else
  3343.       ifp = stdin;
  3344.   
  3345. +     setmode( fileno( ifp ), O_BINARY );
  3346. +     setmode( fileno( stdout ), O_BINARY );
  3347.       if ( argn != argc )
  3348.       pm_usage( "[imgfile]" );
  3349.   
  3350. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/makefile pbmplus.new/ppm/makefile
  3351. *** pbmplus.old/ppm/makefile    Fri Apr 12 00:31:12 1991
  3352. --- pbmplus.new/ppm/makefile    Fri Jul 19 19:27:26 1991
  3353. ***************
  3354. *** 1,3 ****
  3355. --- 1,4 ----
  3356. + .SUFFIXES:    .out .o .c .e .r
  3357.   # Makefile for ppm tools.
  3358.   #
  3359.   # Copyright (C) 1989, 1991 by Jef Poskanzer.
  3360. ***************
  3361. *** 10,23 ****
  3362.   # implied warranty.
  3363.   
  3364.   # Default values, usually overridden by top-level Makefile.
  3365. ! CC =        cc
  3366. ! #CC =        gcc -fcombine-regs -fpcc-struct-return
  3367. ! #CFLAGS =    -O
  3368. ! CFLAGS =    -g
  3369.   #CFLAGS =    -g -O
  3370. ! RGBDEF =    -DRGB_DB=\"/usr/lib/X11/rgb.txt\"
  3371. ! #LDFLAGS =    -s
  3372. ! LDFLAGS =    
  3373.   INSTALLBINARIES =    /usr/new/pbm
  3374.   INSTALLSCRIPTS =    $(INSTALLBINARIES)
  3375.   INSTALLMANUALS1 =    /usr/man/mann
  3376. --- 11,24 ----
  3377.   # implied warranty.
  3378.   
  3379.   # Default values, usually overridden by top-level Makefile.
  3380. ! #CC =         cc
  3381. ! CC =       gcc -fcombine-regs                     
  3382. ! CFLAGS =   -O
  3383. ! #CFLAGS =     -g
  3384.   #CFLAGS =    -g -O
  3385. ! #RGBDEF =     -DRGB_DB=\"/usr/lib/X11/rgb.txt\"
  3386. ! LDFLAGS =  -s
  3387. ! #LDFLAGS =     
  3388.   INSTALLBINARIES =    /usr/new/pbm
  3389.   INSTALLSCRIPTS =    $(INSTALLBINARIES)
  3390.   INSTALLMANUALS1 =    /usr/man/mann
  3391. ***************
  3392. *** 40,46 ****
  3393.   DEFPBM =    $(PBMDIR)/pbm.h ../pbmplus.h
  3394.   DEFLIBPBM =    $(PBMDIR)/libpbm.h
  3395.   
  3396. ! SHELL =        /bin/sh
  3397.   INCLUDE =    $(INCLUDEPGM) $(INCLUDEPBM)
  3398.   ALLCFLAGS =    $(CFLAGS) $(RGBDEF) $(INCLUDE)
  3399.   LIBPPM =    libppm.a
  3400. --- 41,47 ----
  3401.   DEFPBM =    $(PBMDIR)/pbm.h ../pbmplus.h
  3402.   DEFLIBPBM =    $(PBMDIR)/libpbm.h
  3403.   
  3404. ! SHELL =     command 
  3405.   INCLUDE =    $(INCLUDEPGM) $(INCLUDEPBM)
  3406.   ALLCFLAGS =    $(CFLAGS) $(RGBDEF) $(INCLUDE)
  3407.   LIBPPM =    libppm.a
  3408. ***************
  3409. *** 78,86 ****
  3410.   binaries:    $(BINARIES)
  3411.   
  3412.   installbinaries:    binaries
  3413. !     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  3414.       cp $(BINARIES) $(INSTALLBINARIES)
  3415. !     cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  3416.       cp $(SCRIPTS) $(INSTALLSCRIPTS)
  3417.       cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  3418.   
  3419. --- 79,87 ----
  3420.   binaries:    $(BINARIES)
  3421.   
  3422.   installbinaries:    binaries
  3423. !     cd $(INSTALLBINARIES) ; command /c rm -f $(BINARIES)
  3424.       cp $(BINARIES) $(INSTALLBINARIES)
  3425. !     cd $(INSTALLSCRIPTS) ; command /c rm -f $(SCRIPTS)
  3426.       cp $(SCRIPTS) $(INSTALLSCRIPTS)
  3427.       cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  3428.   
  3429. ***************
  3430. *** 87,101 ****
  3431.   
  3432.   merge:        ppmmerge
  3433.   ppmmerge:    ppmmerge.c $(OBJECTS) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  3434. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(OBJECTS) -lm $(LIBPPM) $(LIBPGM) $(LIBPBM)
  3435.   
  3436.   installmerge:    installppmmerge
  3437.   installppmmerge:    ppmmerge
  3438. !     cd $(INSTALLBINARIES) ; rm -f $(BINARIES)
  3439.       cp ppmmerge $(INSTALLBINARIES)
  3440.       cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln ppmmerge $$i ; done
  3441. !     rm $(INSTALLBINARIES)/ppmmerge
  3442. !     cd $(INSTALLSCRIPTS) ; rm -f $(SCRIPTS)
  3443.       cp $(SCRIPTS) $(INSTALLSCRIPTS)
  3444.       cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  3445.   
  3446. --- 88,102 ----
  3447.   
  3448.   merge:        ppmmerge
  3449.   ppmmerge:    ppmmerge.c $(OBJECTS) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  3450. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @ppmmerge.lst -lm
  3451.   
  3452.   installmerge:    installppmmerge
  3453.   installppmmerge:    ppmmerge
  3454. !     cd $(INSTALLBINARIES) ; command /c rm -f $(BINARIES)
  3455.       cp ppmmerge $(INSTALLBINARIES)
  3456.       cd $(INSTALLBINARIES) ; for i in $(BINARIES) ; do ln ppmmerge $$i ; done
  3457. !     command /c rm $(INSTALLBINARIES)/ppmmerge
  3458. !     cd $(INSTALLSCRIPTS) ; command /c rm -f $(SCRIPTS)
  3459.       cp $(SCRIPTS) $(INSTALLSCRIPTS)
  3460.       cd $(INSTALLSCRIPTS) ; chmod +x $(SCRIPTS)
  3461.   
  3462. ***************
  3463. *** 108,118 ****
  3464.   
  3465.   # Rule for plain programs.
  3466.   $(PORTBINARIES):    ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  3467. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c $(LIBPPM) $(LIBPGM) $(LIBPBM)
  3468.   
  3469.   # Rule for math-dependent programs.
  3470.   $(MATHBINARIES):    ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  3471. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c -lm $(LIBPPM) $(LIBPGM) $(LIBPBM)
  3472.   
  3473.   # Rule for objects.
  3474.   $(OBJECTS):    ppm.h $(DEFPGM) $(DEFPBM)
  3475. --- 109,119 ----
  3476.   
  3477.   # Rule for plain programs.
  3478.   $(PORTBINARIES):    ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  3479. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @ppmall.lst
  3480.   
  3481.   # Rule for math-dependent programs.
  3482.   $(MATHBINARIES):    ppm.h $(DEFPGM) $(DEFPBM) $(LIBPPM) $(LIBPGM) $(LIBPBM)
  3483. !     $(CC) $(ALLCFLAGS) $(LDFLAGS) -o $@ $@.c @ppmall.lst -lm
  3484.   
  3485.   # Rule for objects.
  3486.   $(OBJECTS):    ppm.h $(DEFPGM) $(DEFPBM)
  3487. ***************
  3488. *** 125,133 ****
  3489.       cd $(PGMDIR) ; make lib
  3490.   lib:        $(LIBPPM)
  3491.   $(LIBPPM):    libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o
  3492. !     -rm $(LIBPPM)
  3493.       ar rc $(LIBPPM) libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o
  3494. -     -ranlib $(LIBPPM)
  3495.   
  3496.   libppm1.o:    ppm.h $(DEFPGM) $(DEFPBM) libppm.h libppm1.c
  3497.       $(CC) $(ALLCFLAGS) -c libppm1.c
  3498. --- 126,133 ----
  3499.       cd $(PGMDIR) ; make lib
  3500.   lib:        $(LIBPPM)
  3501.   $(LIBPPM):    libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o
  3502. !     -command /c rm $(LIBPPM)
  3503.       ar rc $(LIBPPM) libppm1.o libppm2.o libppm3.o libppm4.o libppm5.o
  3504.   
  3505.   libppm1.o:    ppm.h $(DEFPGM) $(DEFPBM) libppm.h libppm1.c
  3506.       $(CC) $(ALLCFLAGS) -c libppm1.c
  3507. ***************
  3508. *** 178,184 ****
  3509.   xpmtoppm xpmtoppm.o:        xpmtoppm.c
  3510.   
  3511.   clean:
  3512. !     -rm -f *.o *.a *.cat core $(BINARIES) ppmmerge
  3513.   
  3514.   
  3515.   # Imakefile stuff.  Ignore if you're not an X11 type.
  3516. --- 178,184 ----
  3517.   xpmtoppm xpmtoppm.o:        xpmtoppm.c
  3518.   
  3519.   clean:
  3520. !     -command /c rm -f *.o *.a *.cat core $(BINARIES) ppmmerge
  3521.   
  3522.   
  3523.   # Imakefile stuff.  Ignore if you're not an X11 type.
  3524. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/mtvtoppm.c pbmplus.new/ppm/mtvtoppm.c
  3525. *** pbmplus.old/ppm/mtvtoppm.c    Fri Apr 12 00:31:14 1991
  3526. --- pbmplus.new/ppm/mtvtoppm.c    Sat Jun 15 21:38:30 1991
  3527. ***************
  3528. *** 34,39 ****
  3529. --- 34,42 ----
  3530.       else
  3531.       ifp = stdin;
  3532.   
  3533. +     setmode( fileno( ifp ), O_BINARY );
  3534. +     setmode( fileno( stdout ), O_BINARY );
  3535.       /* Read in the MTV file.  First the header. */
  3536.       if ( fgets( line, MAXLINE, ifp ) == NULL )
  3537.       pm_error( "unable to read MTV file header", 0,0,0,0,0 );
  3538. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/pcxtoppm.c pbmplus.new/ppm/pcxtoppm.c
  3539. *** pbmplus.old/ppm/pcxtoppm.c    Fri Apr 12 00:32:46 1991
  3540. --- pbmplus.new/ppm/pcxtoppm.c    Sat Jun 15 21:38:22 1991
  3541. ***************
  3542. *** 65,70 ****
  3543. --- 65,73 ----
  3544.            break;
  3545.       }
  3546.   
  3547. +     setmode( fileno( ifp ), O_BINARY );
  3548. +     setmode( fileno( stdout ), O_BINARY );
  3549.       /*
  3550.        * read the PCX header
  3551.        */
  3552. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/pgmtoppm.c pbmplus.new/ppm/pgmtoppm.c
  3553. *** pbmplus.old/ppm/pgmtoppm.c    Fri Apr 12 00:32:48 1991
  3554. --- pbmplus.new/ppm/pgmtoppm.c    Sat Jun 15 21:38:14 1991
  3555. ***************
  3556. *** 45,50 ****
  3557. --- 45,54 ----
  3558.           if ( argn == argc )
  3559.           pm_usage( usage );
  3560.           ifp = pm_openr( argv[argn] );
  3561. +         setmode( fileno( ifp ), O_BINARY );
  3562. +         setmode( fileno( stdout ), O_BINARY );
  3563.           mappixels = ppm_readppm( ifp, &mapcols, &maprows, &mapmaxval );
  3564.           pm_close( ifp );
  3565.           mapmaxcolor = maprows * mapcols - 1;
  3566. ***************
  3567. *** 69,74 ****
  3568. --- 73,81 ----
  3569.       }
  3570.       else
  3571.       ifp = stdin;
  3572. +     setmode( fileno( ifp ), O_BINARY );
  3573. +     setmode( fileno( stdout ), O_BINARY );
  3574.   
  3575.       if ( argn != argc )
  3576.       pm_usage( usage );
  3577. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/pi1toppm.c pbmplus.new/ppm/pi1toppm.c
  3578. *** pbmplus.old/ppm/pi1toppm.c    Fri Apr 12 00:32:46 1991
  3579. --- pbmplus.new/ppm/pi1toppm.c    Sat Jun 15 21:37:22 1991
  3580. ***************
  3581. *** 39,44 ****
  3582. --- 39,47 ----
  3583.       else
  3584.       ifp = stdin;
  3585.   
  3586. +     setmode( fileno( ifp ), O_BINARY );
  3587. +     setmode( fileno( stdout ), O_BINARY );
  3588.       /* Check resolution word */
  3589.       (void) pm_readbiglong( ifp, &j );
  3590.       if ( j != 0 )
  3591. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/picttopp.c pbmplus.new/ppm/picttopp.c
  3592. *** pbmplus.old/ppm/picttopp.c    Fri Apr 12 00:31:26 1991
  3593. --- pbmplus.new/ppm/picttopp.c    Sat Jun 15 21:37:18 1991
  3594. ***************
  3595. *** 319,324 ****
  3596. --- 319,327 ----
  3597.       } else
  3598.           ifp = stdin;
  3599.   
  3600. +     setmode( fileno( ifp ), O_BINARY );
  3601. +     setmode( fileno( stdout ), O_BINARY );
  3602.       if (argn != argc)
  3603.           pm_usage(usage);
  3604.   
  3605. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmall.lst pbmplus.new/ppm/ppmall.lst
  3606. *** pbmplus.old/ppm/ppmall.lst
  3607. --- pbmplus.new/ppm/ppmall.lst    Thu Jul 18 18:42:14 1991
  3608. ***************
  3609. *** 0 ****
  3610. --- 1,3 ----
  3611. + libppm.a
  3612. + ../pgm/libpgm.a
  3613. + ../pbm/libpbm.a
  3614. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmhist.c pbmplus.new/ppm/ppmhist.c
  3615. *** pbmplus.old/ppm/ppmhist.c    Fri Apr 12 00:31:22 1991
  3616. --- pbmplus.new/ppm/ppmhist.c    Sat Jun 15 21:48:42 1991
  3617. ***************
  3618. *** 39,44 ****
  3619. --- 39,47 ----
  3620.       else
  3621.       ifp = stdin;
  3622.   
  3623. +     setmode( fileno( ifp ), O_BINARY );
  3624. +     setmode( fileno( stdout ), O_BINARY );
  3625.       if ( argn != argc )
  3626.       pm_usage( usage );
  3627.   
  3628. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmmake.c pbmplus.new/ppm/ppmmake.c
  3629. *** pbmplus.old/ppm/ppmmake.c    Fri Apr 12 00:32:46 1991
  3630. --- pbmplus.new/ppm/ppmmake.c    Sat Jun 15 21:37:00 1991
  3631. ***************
  3632. *** 44,49 ****
  3633. --- 44,51 ----
  3634.       if ( argn != argc )
  3635.       pm_usage( usage );
  3636.   
  3637. +     setmode( fileno( stdout ), O_BINARY );
  3638.       ppm_writeppminit( stdout, cols, rows, PPM_MAXMAXVAL, 0 );
  3639.       pixrow = ppm_allocrow( cols );
  3640.   
  3641. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmmerge.c pbmplus.new/ppm/ppmmerge.c
  3642. *** pbmplus.old/ppm/ppmmerge.c    Fri Apr 12 00:31:22 1991
  3643. --- pbmplus.new/ppm/ppmmerge.c    Fri Jul 19 18:47:56 1991
  3644. ***************
  3645. *** 28,66 ****
  3646.   
  3647.   #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) m( argc, argv ); }
  3648.   
  3649. !     TRY("giftoppm", giftoppm_main);
  3650. !     TRY("gouldtoppm", gouldtoppm_main);
  3651. !     TRY("ilbmtoppm", ilbmtoppm_main);
  3652. !     TRY("imgtoppm", imgtoppm_main);
  3653. !     TRY("mtvtoppm", mtvtoppm_main);
  3654. !     TRY("pcxtoppm", pcxtoppm_main);
  3655. !     TRY("pgmtoppm", pgmtoppm_main);
  3656. !     TRY("pi1toppm", pi1toppm_main);
  3657. !     TRY("picttoppm", picttoppm_main);
  3658. !     TRY("ppmhist", ppmhist_main);
  3659. !     TRY("ppmmake", ppmmake_main);
  3660. !     TRY("ppmpat", ppmpat_main);
  3661. !     TRY("ppmquant", ppmquant_main);
  3662. !     TRY("ppmrelief", ppmrelief_main);
  3663. !     TRY("ppmtogif", ppmtogif_main);
  3664. !     TRY("ppmtoilbm", ppmtoilbm_main);
  3665. !     TRY("ppmtopcx", ppmtopcx_main);
  3666. !     TRY("ppmtopgm", ppmtopgm_main);
  3667. !     TRY("ppmtopi1", ppmtopi1_main);
  3668. !     TRY("ppmtopict", ppmtopict_main);
  3669. !     TRY("ppmtops", ppmtops_main);
  3670. !     TRY("ppmtopuzz", ppmtopuzz_main);
  3671. !     TRY("ppmtorgb3", ppmtorgb3_main);
  3672. !     TRY("ppmtouil", ppmtouil_main);
  3673. !     TRY("ppmtoxpm", ppmtoxpm_main);
  3674. !     TRY("qrttoppm", qrttoppm_main);
  3675. !     TRY("rawtoppm", rawtoppm_main);
  3676. !     TRY("rgb3toppm", rgb3toppm_main);
  3677. !     TRY("spctoppm", spctoppm_main);
  3678. !     TRY("sputoppm", sputoppm_main);
  3679. !     TRY("tgatoppm", tgatoppm_main);
  3680. !     TRY("ximtoppm", ximtoppm_main);
  3681. !     TRY("xpmtoppm", xpmtoppm_main);
  3682.   
  3683.       (void) fprintf(
  3684.       stderr, "ppmmerge: \"%s\" is an unknown PPM program!\n", cp );
  3685. --- 28,66 ----
  3686.   
  3687.   #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) m( argc, argv ); }
  3688.   
  3689. !     TRY("giftoppm.exe", giftoppm_main);
  3690. !     TRY("gouldtop.exe", gouldtoppm_main);
  3691. !     TRY("ilbmtopp.exe", ilbmtoppm_main);
  3692. !     TRY("imgtoppm.exe", imgtoppm_main);
  3693. !     TRY("mtvtoppm.exe", mtvtoppm_main);
  3694. !     TRY("pcxtoppm.exe", pcxtoppm_main);
  3695. !     TRY("pgmtoppm.exe", pgmtoppm_main);
  3696. !     TRY("pi1toppm.exe", pi1toppm_main);
  3697. !     TRY("picttopp.exe", picttoppm_main);
  3698. !     TRY("ppmhist.exe", ppmhist_main);
  3699. !     TRY("ppmmake.exe", ppmmake_main);
  3700. !     TRY("ppmpat.exe", ppmpat_main);
  3701. !     TRY("ppmquant.exe", ppmquant_main);
  3702. !     TRY("ppmrelie.exe", ppmrelief_main);
  3703. !     TRY("ppmtogif.exe", ppmtogif_main);
  3704. !     TRY("ppmtoilb.exe", ppmtoilbm_main);
  3705. !     TRY("ppmtopcx.exe", ppmtopcx_main);
  3706. !     TRY("ppmtopgm.exe", ppmtopgm_main);
  3707. !     TRY("ppmtopi1.exe", ppmtopi1_main);
  3708. !     TRY("ppmtopic.exe", ppmtopict_main);
  3709. !     TRY("ppmtops.exe", ppmtops_main);
  3710. !     TRY("ppmtopuz.exe", ppmtopuzz_main);
  3711. !     TRY("ppmtorgb.exe", ppmtorgb3_main);
  3712. !     TRY("ppmtouil.exe", ppmtouil_main);
  3713. !     TRY("ppmtoxpm.exe", ppmtoxpm_main);
  3714. !     TRY("qrttoppm.exe", qrttoppm_main);
  3715. !     TRY("rawtoppm.exe", rawtoppm_main);
  3716. !     TRY("rgb3topp.exe", rgb3toppm_main);
  3717. !     TRY("spctoppm.exe", spctoppm_main);
  3718. !     TRY("sputoppm.exe", sputoppm_main);
  3719. !     TRY("tgatoppm.exe", tgatoppm_main);
  3720. !     TRY("ximtoppm.exe", ximtoppm_main);
  3721. !     TRY("xpmtoppm.exe", xpmtoppm_main);
  3722.   
  3723.       (void) fprintf(
  3724.       stderr, "ppmmerge: \"%s\" is an unknown PPM program!\n", cp );
  3725. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmmerge.lst pbmplus.new/ppm/ppmmerge.lst
  3726. *** pbmplus.old/ppm/ppmmerge.lst
  3727. --- pbmplus.new/ppm/ppmmerge.lst    Fri Jul 19 18:40:56 1991
  3728. ***************
  3729. *** 0 ****
  3730. --- 1,37 ----
  3731. + giftoppm.o
  3732. + gouldtop.o
  3733. + ilbmtopp.o
  3734. + imgtoppm.o
  3735. + mtvtoppm.o
  3736. + pcxtoppm.o
  3737. + pgmtoppm.o
  3738. + pi1toppm.o
  3739. + picttopp.o
  3740. + ppmhist.o
  3741. + ppmmake.o
  3742. + ppmquant.o
  3743. + ppmrelie.o
  3744. + ppmtogif.o
  3745. + ppmtoicr.o
  3746. + ppmtoilb.o
  3747. + ppmtopcx.o
  3748. + ppmtopgm.o
  3749. + ppmtopi1.o
  3750. + ppmtopic.o
  3751. + ppmtops.o
  3752. + ppmtopuz.o
  3753. + ppmtorgb.o
  3754. + ppmtouil.o
  3755. + ppmtoxpm.o
  3756. + qrttoppm.o
  3757. + rawtoppm.o
  3758. + rgb3topp.o
  3759. + spctoppm.o
  3760. + sputoppm.o
  3761. + tgatoppm.o
  3762. + ximtoppm.o
  3763. + xpmtoppm.o
  3764. + ppmpat.o
  3765. + libppm.a
  3766. + ../pgm/libpgm.a
  3767. + ../pbm/libpbm.a
  3768. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmpat.c pbmplus.new/ppm/ppmpat.c
  3769. *** pbmplus.old/ppm/ppmpat.c    Fri Apr 12 00:31:18 1991
  3770. --- pbmplus.new/ppm/ppmpat.c    Sat Jun 15 21:36:44 1991
  3771. ***************
  3772. *** 37,42 ****
  3773. --- 37,44 ----
  3774.   
  3775.       ppm_init( &argc, argv );
  3776.   
  3777. +     setmode( fileno( stdout ), O_BINARY );
  3778.       argn = 1;
  3779.       pattern = PAT_NONE;
  3780.   
  3781. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmquant pbmplus.new/ppm/ppmquant
  3782. *** pbmplus.old/ppm/ppmquant    Fri Apr 12 00:31:26 1991
  3783. --- pbmplus.new/ppm/ppmquant
  3784. ***************
  3785. *** 1,45 ****
  3786. - #!/bin/csh -f
  3787. - #
  3788. - # ppmquantall - run ppmquant on a bunch of files all at once, so they share
  3789. - #               a common colormap
  3790. - #
  3791. - # WARNING: overwrites the source files with the results!!!
  3792. - #
  3793. - # Verbose explanation: Let's say you've got a dozen pixmaps that you want
  3794. - # to display on the screen all at the same time.  Your screen can only
  3795. - # display 256 different colors, but the pixmaps have a total of a thousand
  3796. - # or so different colors.  For a single pixmap you solve this problem with
  3797. - # ppmquant; this script solves it for multiple pixmaps.  All it does is
  3798. - # concatenate them together into one big pixmap, run ppmquant on that, and
  3799. - # then split it up into little pixmaps again.
  3800. - if ( $#argv < 3 ) then
  3801. -     echo "usage:  ppmquantall <newcolors> <ppmfile> <ppmfile> ..."
  3802. -     exit 1
  3803. - endif
  3804. - set newcolors=$argv[1]
  3805. - set files=( $argv[2-] )
  3806. - set heights=()
  3807. - foreach i ( $files )
  3808. -     set heights=( $heights `head -2 $i | tail -1 | sed 's/.* //'` )
  3809. - end
  3810. - set all=/tmp/pqa.all.$$
  3811. - rm -f $all
  3812. - pnmcat -tb -white $files | ppmquant -quiet $newcolors > $all
  3813. - if ( $status != 0 ) exit $status
  3814. - set width=`head -2 $all | tail -1 | sed 's/ .*//'`
  3815. - @ y = 0
  3816. - @ i = 1
  3817. - while ( $i <= $#files )
  3818. -     pnmcut 0 $y $width $heights[$i] $all | pnmcrop -white > $files[$i]
  3819. -     if ( $status != 0 ) exit $status
  3820. -     @ y = $y + $heights[$i]
  3821. -     @ i++
  3822. - end
  3823. - rm -f $all
  3824. --- 0 ----
  3825. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmquant.c pbmplus.new/ppm/ppmquant.c
  3826. *** pbmplus.old/ppm/ppmquant.c    Fri Apr 12 00:31:18 1991
  3827. --- pbmplus.new/ppm/ppmquant.c    Sat Jun 15 21:36:20 1991
  3828. ***************
  3829. *** 105,112 ****
  3830. --- 105,118 ----
  3831.       else
  3832.       ifp = stdin;
  3833.   
  3834. +     setmode( fileno( ifp ), O_BINARY );
  3835. +     setmode( fileno( stdout ), O_BINARY );
  3836.       if ( argn != argc )
  3837.       pm_usage( usage );
  3838. +     setmode( fileno( ifp ), O_BINARY );
  3839. +     setmode( fileno( stdout ), O_BINARY );
  3840.   
  3841.       /*
  3842.       ** Step 1: read in the image.
  3843. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmrelie.c pbmplus.new/ppm/ppmrelie.c
  3844. *** pbmplus.old/ppm/ppmrelie.c    Fri Apr 12 00:32:48 1991
  3845. --- pbmplus.new/ppm/ppmrelie.c    Sat Jun 15 21:36:16 1991
  3846. ***************
  3847. *** 37,42 ****
  3848. --- 37,45 ----
  3849.       else
  3850.       ifp = stdin;
  3851.   
  3852. +     setmode( fileno( ifp ), O_BINARY );
  3853. +     setmode( fileno( stdout ), O_BINARY );
  3854.       if ( argn != argc )
  3855.       pm_usage( usage );
  3856.   
  3857. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtogif.c pbmplus.new/ppm/ppmtogif.c
  3858. *** pbmplus.old/ppm/ppmtogif.c    Fri Apr 12 00:31:20 1991
  3859. --- pbmplus.new/ppm/ppmtogif.c    Thu Jun 20 15:03:40 1991
  3860. ***************
  3861. *** 22,27 ****
  3862. --- 22,29 ----
  3863.   
  3864.   #define MAXCOLORS 256
  3865.   
  3866. + int comp( struct colorhist_item *i, struct colorhist_item *j );
  3867.   static int colorstobpp(), GetPixel(), GIFNextPixel();
  3868.   static void BumpPixel(), GIFEncode(), Putword(), compress(), output(),
  3869.       cl_block(), cl_hash(), writeerr(), char_init(), char_out(), flush_char();
  3870. ***************
  3871. *** 65,70 ****
  3872. --- 67,75 ----
  3873.       else
  3874.       ifp = stdin;
  3875.   
  3876. +     setmode( fileno( ifp ), O_BINARY );
  3877. +     setmode( fileno( stdout ), O_BINARY );
  3878.       if ( argn != argc )
  3879.       pm_usage( usage );
  3880.   
  3881. ***************
  3882. *** 80,85 ****
  3883. --- 85,92 ----
  3884.           "too many colors - try doing a 'ppmquant %d'", MAXCOLORS, 0,0,0,0 );
  3885.       pm_message( "%d colors found", colors, 0,0,0,0 );
  3886.   
  3887. +     qsort( chv, colors, sizeof( chv[0] ), comp );
  3888.       /* Now turn the ppm colormap into the appropriate GIF colormap. */
  3889.       if ( maxval > 255 )
  3890.       pm_message(
  3891. ***************
  3892. *** 826,828 ****
  3893. --- 833,844 ----
  3894.   }
  3895.   
  3896.   /* The End */  
  3897. + comp( struct colorhist_item *i, struct colorhist_item *j ) {
  3898. +     return (PPM_GETR( i->color )*287+
  3899. +             PPM_GETG( i->color )*589+ 
  3900. +             PPM_GETB( i->color )*114)-
  3901. +            (PPM_GETR( j->color )*287+
  3902. +             PPM_GETG( j->color )*589+
  3903. +             PPM_GETB( j->color )*114); }
  3904. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtoicr.c pbmplus.new/ppm/ppmtoicr.c
  3905. *** pbmplus.old/ppm/ppmtoicr.c    Fri Apr 12 00:32:48 1991
  3906. --- pbmplus.new/ppm/ppmtoicr.c    Sat Jun 15 21:36:10 1991
  3907. ***************
  3908. *** 84,89 ****
  3909. --- 84,92 ----
  3910.       else
  3911.           ifp = stdin;
  3912.   
  3913. +     setmode( fileno( ifp ), O_BINARY );
  3914. +     setmode( fileno( stdout ), O_BINARY );
  3915.       if ( argn != argc )
  3916.           pm_usage( usage );
  3917.   
  3918. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtoilb.c pbmplus.new/ppm/ppmtoilb.c
  3919. *** pbmplus.old/ppm/ppmtoilb.c    Fri Apr 12 00:31:22 1991
  3920. --- pbmplus.new/ppm/ppmtoilb.c    Sat Jun 15 21:36:06 1991
  3921. ***************
  3922. *** 57,62 ****
  3923. --- 57,65 ----
  3924.       else
  3925.       ifp = stdin;
  3926.   
  3927. +     setmode( fileno( ifp ), O_BINARY );
  3928. +     setmode( fileno( stdout ), O_BINARY );
  3929.       if ( argn != argc )
  3930.       pm_usage( usage );
  3931.   
  3932. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtopcx.c pbmplus.new/ppm/ppmtopcx.c
  3933. *** pbmplus.old/ppm/ppmtopcx.c    Fri Apr 12 00:32:46 1991
  3934. --- pbmplus.new/ppm/ppmtopcx.c    Sat Jun 15 21:36:02 1991
  3935. ***************
  3936. *** 46,51 ****
  3937. --- 46,54 ----
  3938.       else
  3939.       ifp = stdin;
  3940.   
  3941. +     setmode( fileno( ifp ), O_BINARY );
  3942. +     setmode( fileno( stdout ), O_BINARY );
  3943.       if ( argn != argc )
  3944.       pm_usage( usage );
  3945.   
  3946. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtopgm.c pbmplus.new/ppm/ppmtopgm.c
  3947. *** pbmplus.old/ppm/ppmtopgm.c    Fri Apr 12 00:31:20 1991
  3948. --- pbmplus.new/ppm/ppmtopgm.c    Sat Jun 15 21:35:58 1991
  3949. ***************
  3950. *** 137,142 ****
  3951. --- 137,145 ----
  3952.       else
  3953.       ifp = stdin;
  3954.   
  3955. +     setmode( fileno( ifp ), O_BINARY );
  3956. +     setmode( fileno( stdout ), O_BINARY );
  3957.       ppm_readppminit( ifp, &cols, &rows, &maxval, &format );
  3958.       pgm_writepgminit( stdout, cols, rows, maxval, 0 );
  3959.       pixelrow = ppm_allocrow( cols );
  3960. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtopi1.c pbmplus.new/ppm/ppmtopi1.c
  3961. *** pbmplus.old/ppm/ppmtopi1.c    Fri Apr 12 00:32:48 1991
  3962. --- pbmplus.new/ppm/ppmtopi1.c    Sat Jun 15 21:35:52 1991
  3963. ***************
  3964. *** 42,47 ****
  3965. --- 42,50 ----
  3966.       else
  3967.       ifp = stdin;
  3968.   
  3969. +     setmode( fileno( ifp ), O_BINARY );
  3970. +     setmode( fileno( stdout ), O_BINARY );
  3971.       pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
  3972.       pm_close( ifp );
  3973.       if ( (cols > COLS) || (rows > ROWS) )
  3974. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtopic.c pbmplus.new/ppm/ppmtopic.c
  3975. *** pbmplus.old/ppm/ppmtopic.c    Fri Apr 12 00:31:26 1991
  3976. --- pbmplus.new/ppm/ppmtopic.c    Sat Jun 15 21:35:48 1991
  3977. ***************
  3978. *** 155,160 ****
  3979. --- 155,163 ----
  3980.       if (argn != argc)
  3981.           pm_usage("[ppmfile]");
  3982.   
  3983. +     setmode( fileno( ifp ), O_BINARY );
  3984. +     setmode( fileno( stdout ), O_BINARY );
  3985.       pixels = ppm_readppm(ifp, &cols, &rows, &maxval);
  3986.       if (cols < 8)
  3987.           pm_error("ppm input too narrow, must be >= 8 pixels wide", 0,0,0,0,0);
  3988. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtops.c pbmplus.new/ppm/ppmtops.c
  3989. *** pbmplus.old/ppm/ppmtops.c    Fri Apr 12 00:31:20 1991
  3990. --- pbmplus.new/ppm/ppmtops.c    Sat Jun 15 21:33:34 1991
  3991. ***************
  3992. *** 62,67 ****
  3993. --- 62,70 ----
  3994.       strcpy( name, "noname" );
  3995.       }
  3996.   
  3997. +     setmode( fileno( ifp ), O_BINARY );
  3998. +     setmode( fileno( stdout ), O_BINARY );
  3999.       if ( argn != argc )
  4000.       pm_usage( usage );
  4001.   
  4002. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtopuz.c pbmplus.new/ppm/ppmtopuz.c
  4003. *** pbmplus.old/ppm/ppmtopuz.c    Fri Apr 12 00:32:46 1991
  4004. --- pbmplus.new/ppm/ppmtopuz.c    Sat Jun 15 21:33:26 1991
  4005. ***************
  4006. *** 39,44 ****
  4007. --- 39,47 ----
  4008.       else
  4009.       ifp = stdin;
  4010.   
  4011. +     setmode( fileno( ifp ), O_BINARY );
  4012. +     setmode( fileno( stdout ), O_BINARY );
  4013.       pixels = ppm_readppm( ifp, &cols, &rows, &maxval );
  4014.       pm_close( ifp );
  4015.   
  4016. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtorgb.c pbmplus.new/ppm/ppmtorgb.c
  4017. *** pbmplus.old/ppm/ppmtorgb.c    Fri Apr 12 00:32:48 1991
  4018. --- pbmplus.new/ppm/ppmtorgb.c    Sat Jun 15 21:33:22 1991
  4019. ***************
  4020. *** 51,56 ****
  4021. --- 51,59 ----
  4022.       basename = "noname";
  4023.       }
  4024.   
  4025. +     setmode( fileno( ifp ), O_BINARY );
  4026. +     setmode( fileno( stdout ), O_BINARY );
  4027.       ppm_readppminit( ifp, &cols, &rows, &maxval, &format );
  4028.       pixelrow = ppm_allocrow( cols );
  4029.       (void) strcpy( filename, basename );
  4030. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtouil.c pbmplus.new/ppm/ppmtouil.c
  4031. *** pbmplus.old/ppm/ppmtouil.c    Fri Apr 12 00:32:46 1991
  4032. --- pbmplus.new/ppm/ppmtouil.c    Sat Jun 15 21:33:16 1991
  4033. ***************
  4034. *** 91,96 ****
  4035. --- 91,99 ----
  4036.           (void) strcpy( out_name, "noname" );
  4037.       }
  4038.   
  4039. +     setmode( fileno( ifp ), O_BINARY );
  4040. +     setmode( fileno( stdout ), O_BINARY );
  4041.       if ( argn != argc )
  4042.       pm_usage( usage );
  4043.   
  4044. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ppmtoxpm.c pbmplus.new/ppm/ppmtoxpm.c
  4045. *** pbmplus.old/ppm/ppmtoxpm.c    Fri Apr 12 00:31:24 1991
  4046. --- pbmplus.new/ppm/ppmtoxpm.c    Sat Jun 15 21:33:06 1991
  4047. ***************
  4048. *** 95,100 ****
  4049. --- 95,103 ----
  4050.           (void) strcpy( out_name, "noname" );
  4051.       }
  4052.   
  4053. +     setmode( fileno( ifp ), O_BINARY );
  4054. +     setmode( fileno( stdout ), O_BINARY );
  4055.       if ( argn != argc )
  4056.       pm_usage( usage );
  4057.   
  4058. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/qrttoppm.c pbmplus.new/ppm/qrttoppm.c
  4059. *** pbmplus.old/ppm/qrttoppm.c    Fri Apr 12 00:31:20 1991
  4060. --- pbmplus.new/ppm/qrttoppm.c    Sat Jun 15 21:32:52 1991
  4061. ***************
  4062. *** 32,37 ****
  4063. --- 32,40 ----
  4064.       else
  4065.       ifp = stdin;
  4066.   
  4067. +     setmode( fileno( ifp ), O_BINARY );
  4068. +     setmode( fileno( stdout ), O_BINARY );
  4069.       /* Read in the QRT file.  First the header. */
  4070.       cols = getc( ifp );
  4071.       cols += getc( ifp ) << 8;
  4072. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/rawtoppm.c pbmplus.new/ppm/rawtoppm.c
  4073. *** pbmplus.old/ppm/rawtoppm.c    Fri Apr 12 00:32:48 1991
  4074. --- pbmplus.new/ppm/rawtoppm.c    Sat Jun 15 21:32:46 1991
  4075. ***************
  4076. *** 104,109 ****
  4077. --- 104,112 ----
  4078.       else
  4079.       ifp = stdin;
  4080.   
  4081. +     setmode( fileno( ifp ), O_BINARY );
  4082. +     setmode( fileno( stdout ), O_BINARY );
  4083.       if ( argn != argc )
  4084.       pm_usage( usage );
  4085.   
  4086. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/rgb3topp.c pbmplus.new/ppm/rgb3topp.c
  4087. *** pbmplus.old/ppm/rgb3topp.c    Fri Apr 12 00:31:24 1991
  4088. --- pbmplus.new/ppm/rgb3topp.c    Sat Jun 15 21:32:34 1991
  4089. ***************
  4090. *** 33,38 ****
  4091. --- 33,43 ----
  4092.       gfd = pm_openr( argv[2] );
  4093.       bfd = pm_openr( argv[3] );
  4094.   
  4095. +     setmode( fileno( rfd ), O_BINARY );
  4096. +     setmode( fileno( gfd ), O_BINARY );
  4097. +     setmode( fileno( bfd ), O_BINARY );
  4098. +     setmode( fileno( stdout ), O_BINARY );
  4099.       pgm_readpgminit( rfd, &cols, &rows, &rmaxval, &rformat );
  4100.       pgm_readpgminit( gfd, &tcols, &trows, &gmaxval, &gformat );
  4101.       if ( tcols != cols || trows != rows )
  4102. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/spctoppm.c pbmplus.new/ppm/spctoppm.c
  4103. *** pbmplus.old/ppm/spctoppm.c    Fri Apr 12 00:32:48 1991
  4104. --- pbmplus.new/ppm/spctoppm.c    Sat Jun 15 21:32:02 1991
  4105. ***************
  4106. *** 46,51 ****
  4107. --- 46,54 ----
  4108.       else
  4109.       ifp = stdin;
  4110.   
  4111. +     setmode( fileno( ifp ), O_BINARY );
  4112. +     setmode( fileno( stdout ), O_BINARY );
  4113.       /* Check SPC file header. */
  4114.       c1 = getc( ifp );
  4115.       c2 = getc( ifp );
  4116. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/sputoppm.c pbmplus.new/ppm/sputoppm.c
  4117. *** pbmplus.old/ppm/sputoppm.c    Fri Apr 12 00:32:48 1991
  4118. --- pbmplus.new/ppm/sputoppm.c    Sat Jun 15 21:31:58 1991
  4119. ***************
  4120. *** 38,43 ****
  4121. --- 38,46 ----
  4122.       else
  4123.       ifp = stdin;
  4124.   
  4125. +     setmode( fileno( ifp ), O_BINARY );
  4126. +     setmode( fileno( stdout ), O_BINARY );
  4127.       /* Read the SPU file */
  4128.   
  4129.       /* Read the screen data. */
  4130. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/tgatoppm.c pbmplus.new/ppm/tgatoppm.c
  4131. *** pbmplus.old/ppm/tgatoppm.c    Fri Apr 12 00:31:22 1991
  4132. --- pbmplus.new/ppm/tgatoppm.c    Sat Jun 15 21:31:54 1991
  4133. ***************
  4134. *** 59,66 ****
  4135. --- 59,72 ----
  4136.       else
  4137.       ifp = stdin;
  4138.   
  4139. +     setmode( fileno( ifp ), O_BINARY );
  4140. +     setmode( fileno( stdout ), O_BINARY );
  4141.       if ( argn != argc )
  4142.       pm_usage( usage );
  4143. +     setmode( fileno( ifp ), O_BINARY );
  4144. +     setmode( fileno( stdout ), O_BINARY );
  4145.   
  4146.       /* Read the Targa file header. */
  4147.       readtga( ifp, &tga_head );
  4148. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/ximtoppm.c pbmplus.new/ppm/ximtoppm.c
  4149. *** pbmplus.old/ppm/ximtoppm.c    Fri Apr 12 00:31:24 1991
  4150. --- pbmplus.new/ppm/ximtoppm.c    Sat Jun 15 21:31:48 1991
  4151. ***************
  4152. *** 37,42 ****
  4153. --- 37,45 ----
  4154.       else
  4155.       ifp = stdin;
  4156.   
  4157. +     setmode( fileno( ifp ), O_BINARY );
  4158. +     setmode( fileno( stdout ), O_BINARY );
  4159.       if ( argn != argc )
  4160.       pm_usage( "[ximfile]" );
  4161.   
  4162. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/ppm/xpmtoppm.c pbmplus.new/ppm/xpmtoppm.c
  4163. *** pbmplus.old/ppm/xpmtoppm.c    Fri Apr 12 00:32:46 1991
  4164. --- pbmplus.new/ppm/xpmtoppm.c    Sat Jun 15 21:31:42 1991
  4165. ***************
  4166. *** 37,42 ****
  4167. --- 37,45 ----
  4168.       else
  4169.       ifp = stdin;
  4170.   
  4171. +     setmode( fileno( ifp ), O_BINARY );
  4172. +     setmode( fileno( stdout ), O_BINARY );
  4173.       ReadXPMFile(
  4174.       ifp, &cols, &rows, &ncolors, &chars_per_pixel, &colors, &data );
  4175.   
  4176. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/readme.bak pbmplus.new/readme.bak
  4177. *** pbmplus.old/readme.bak
  4178. --- pbmplus.new/readme.bak    Mon Jul 22 08:44:46 1991
  4179. ***************
  4180. *** 0 ****
  4181. --- 1,195 ----
  4182. + This is my second (and hopefully better) attempt at porting the PBMPlus package
  4183. + to MS-DOS.
  4184. + I used D.J. Delorie's port of the GNU GCC compiler to DOS to compile the 
  4185. + package.  The GCC compiler generates 386 specific, protected mode code.  Used
  4186. + with DJ's DOS extender (built into the executables distributed with this        
  4187. + package) allows for some pretty powerful programs.    The current DOS extender
  4188. + (or rather, the one I'm currently using, there may be newer version with more
  4189. + compatibilities), is not compatible with much of anything besides vanilla DOS.
  4190. + No HIMEM.SYS, EMM386.SYS, QEMM.SYS, Desqview, Windows, etc.  Source for the
  4191. + DOS extender is available with the GCC package.  You can obtain the package 
  4192. + from the internet at grape.ecs.clarkson.edu:pub/msdos/djgcc/* or 
  4193. + (315)268-6667:pub/msdos/djgcc/*. Feel free to add VCPI or DPMI support.     
  4194. + Improvements:
  4195. +     o    RAWBITS binary formats for p?m files.  This allows MUCH faster             
  4196. +         executions times, as well as smaller temporary files.  This same
  4197. +         fix also allows for the familiar unix-style pipings, such as:
  4198. +         tgatoppm dkbtest.tga | ppmquant 256 | ppmtogif > dkbtest.gif
  4199. +         This makes for this source code to be much closer to the PBMPLUS
  4200. +         package as distributed by Jef Poskanzer.
  4201. +         The only minor problem this causes is when you want to use an ASCII
  4202. +         only p?m file, you have to change all the LF/CR sequences into LF only
  4203. +         (that is, run it through a DOS-to-UNIX text file filter).
  4204. +     o    MERGE option for binaries.    This essentially creates one big exectuable
  4205. +         file rather than a bunch of smaller ones.  On unix systems, you can use
  4206. +         this option, as well as file links (pointers to a file, rather than an
  4207. +         actuall file) to point to this one exectuable.    It can save a            
  4208. +         tremendous amount of space.  How the program works depends on what the
  4209. +         name is of program when you execute it.  On a DOS machine, you have to
  4210. +         copy or rename the executable to get the appropriate function (remember,
  4211. +         how the program works depends on how it's named).  If you want the whole
  4212. +         package, the MERGE option will take up more room on a DOS machine, but
  4213. +         it makes for a smaller package to send around the net, and smaller and
  4214. +         putting all the unused files into an archive if you only want part of 
  4215. +         the package.                
  4216. +         The entire PBMPLUS package, when compiled into separate binaries, takes
  4217. +         up just over 6 Megs of diskspace.  The equivalent package compiled using
  4218. +         the merge option takes up about 300k.
  4219. + The executables I plan to distribute are the merged binaries.  The binaries can
  4220. + be renamed/copied to the following to get the desired results:
  4221. +                     pbmmerge.exe  to    brushtop.exe
  4222. +                                         cmuwmtop.exe
  4223. +                                         g3topbm.exe
  4224. +                                         icontopb.exe                  
  4225. +                                         gemtopbm.exe
  4226. +                                         macptopb.exe
  4227. +                                         mgrtopbm.exe                  
  4228. +                                         pbmlife.exe
  4229. +                                         pbmmake.exe
  4230. +                                         pbmmask.exe
  4231. +                                         pbmpaste.exe
  4232. +                                         pbmreduc.exe
  4233. +                                         pbmtext.exe
  4234. +                                         pbmto10x.exe
  4235. +                                         pbmtoasc.exe
  4236. +                                         pbmtobbn.exe
  4237. +                                         pbmtocmu.exe
  4238. +                                         pbmtoeps.exe
  4239. +                                         pbmtog3.exe
  4240. +                                         pbmtogem.exe
  4241. +                                         pbmtogo.exe
  4242. +                                         pbmtoico.exe
  4243. +                                         pbmtolj.exe
  4244. +                                         pbmtomac.exe
  4245. +                                         pbmtomgr.exe
  4246. +                                         pbmtopi3.exe
  4247. +                                         pbmtoplo.exe
  4248. +                                         pbmtoptx.exe
  4249. +                                         pbmtox10.exe
  4250. +                                         pbmtoxbm.exe
  4251. +                                         pbmtoybm.exe
  4252. +                                         pbmtozin.exe
  4253. +                                         pbmupc.exe
  4254. +                                         pi3topbm.exe
  4255. +                                         xbmtopbm.exe
  4256. +                                         ybmtopbm.exe
  4257. +                     pgmmerge.exe to     fitstopg.exe
  4258. +                                         fstopgm.exe
  4259. +                                         hipstopg.exe
  4260. +                                         lispmtop.exe
  4261. +                                         pgmbentl.exe
  4262. +                                         pgmenhan.exe
  4263. +                                         pgmhist.exe
  4264. +                                         pgmnorm.exe
  4265. +                                         pgmoil.exe
  4266. +                                         pgmramp.exe
  4267. +                                         pgmtopbm.exe
  4268. +                                         pgmtofit.exe
  4269. +                                         pgmtofs.exe
  4270. +                                         pgmtolis.exe
  4271. +                                         pgmtops.exe
  4272. +                                         psidtopg.exe
  4273. +                                         rawtopgm.exe
  4274. +                                         pgmedge.exe
  4275. +                     ppmmerge.exe to     giftoppm.exe
  4276. +                                         gouldtop.exe
  4277. +                                         ilbmtopp.exe
  4278. +                                         imgtoppm.exe
  4279. +                                         mtvtoppm.exe
  4280. +                                         pcxtoppm.exe
  4281. +                                         pgmtoppm.exe
  4282. +                                         pi1toppm.exe
  4283. +                                         picttopp.exe
  4284. +                                         ppmhist.exe
  4285. +                                         ppmmake.exe
  4286. +                                         ppmquant.exe
  4287. +                                         ppmrelie.exe
  4288. +                                         ppmtogif.exe
  4289. +                                         ppmtoicr.exe
  4290. +                                         ppmtoilb.exe
  4291. +                                         ppmtopcx.exe
  4292. +                                         ppmtopgm.exe
  4293. +                                         ppmtopi1.exe
  4294. +                                         ppmtopic.exe
  4295. +                                         ppmtops.exe
  4296. +                                         ppmtopuz.exe
  4297. +                                         ppmtorgb.exe
  4298. +                                         ppmtouil.exe
  4299. +                                         ppmtoxpm.exe
  4300. +                                         qrttoppm.exe
  4301. +                                         rawtoppm.exe
  4302. +                                         rgb3topp.exe
  4303. +                                         spctoppm.exe
  4304. +                                         sputoppm.exe
  4305. +                                         tgatoppm.exe
  4306. +                                         ximtoppm.exe
  4307. +                                         xpmtoppm.exe
  4308. +                                         ppmpat.exe
  4309. +                                         
  4310. +                     pnmmerge.exe to     pnmarith.exe
  4311. +                                         pnmcat.exe
  4312. +                                         pnmconvo.exe
  4313. +                                         pnmcrop.exe
  4314. +                                         pnmcut.exe
  4315. +                                         pnmdepth.exe
  4316. +                                         pnmenlar.exe
  4317. +                                         pnmfile.exe
  4318. +                                         pnmflip.exe
  4319. +                                         pnminver.exe
  4320. +                                         pnmnoraw.exe
  4321. +                                         pnmpaste.exe
  4322. +                                         pnmscale.exe
  4323. +                                         pnmtile.exe
  4324. +                                         pnmtoras.exe
  4325. +                                         pnmtoxwd.exe
  4326. +                                         rasttopn.exe
  4327. +                                         xwdtopnm.exe
  4328. +                                         pnmgamma.exe
  4329. +                                         pnmrotat.exe
  4330. +                                         pnmshear.exe
  4331. + Diffs will be also be distributed for those who want to compile the package on
  4332. + their own (The DOS port of GCC is necessary for this).    Aside from the 
  4333. + introduction of the fmod() function to all the main programs, there are some 
  4334. + minor adjustments made to the makefiles to make them work with the DOS port of 
  4335. + GNU-Make.  Two batch files, all.bat and merge.bat are provided to run the make 
  4336. + process.  ALL.BAT will complete make all of the stand alone executables (.exe's
  4337. + files).  MERGE.BAT will only make the 32-bit code in a file called 
  4338. + p?mmerge. which will have to be manually appended to the appropriate STUB.EXE 
  4339. + or GO32.EXE which comes with the DOS port of GCC.  These two batch files are 
  4340. + found in the root directory.  In each of the p?m directory, there are two more 
  4341. + batch files called delp?m.bat and exep?m.bat.  DELP?M.BAT just goes through and 
  4342. + cleans up all the 32-bit code generated by the compiler and should be used after 
  4343. + you make all of the .exe files.  EXEP?M.BAT goes through and prepends with the 
  4344. + go32.exe or stub.exe DOS extenders to each of the 32-bit code segments.  Edit 
  4345. + that batch file to have the appropriate environment variable point to whichever 
  4346. + you want.  I used the BETA TEST distribution of 05feb91 to generate this        
  4347. + version of pbmplus (I no longer have net access, so at this time I'm not sure if
  4348. + this is the latest version).
  4349. + NOTICE:  I made one minor modification to ppmtogif.c.  It now sorts the palette
  4350. + based on it's luminisity.  This makes the darkest color the background color,    
  4351. + which is a personal preference.               
  4352. + I no longer have net access, but can be reached via phone and snail mail at
  4353. + the following:
  4354. + Mike Castle
  4355. + Deer Run Apartments 
  4356. + Apt #29
  4357. + Wright City, MO 63390
  4358. + (314) 745-3164
  4359. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/readme.dos pbmplus.new/readme.dos
  4360. *** pbmplus.old/readme.dos
  4361. --- pbmplus.new/readme.dos    Wed Jul 24 22:55:40 1991
  4362. ***************
  4363. *** 0 ****
  4364. --- 1,195 ----
  4365. + This is my second (and hopefully better) attempt at porting the PBMPlus package
  4366. + to MS-DOS.
  4367. + I used D.J. Delorie's port of the GNU GCC compiler to DOS to compile the 
  4368. + package.  The GCC compiler generates 386 specific, protected mode code.  Used
  4369. + with DJ's DOS extender (built into the executables distributed with this        
  4370. + package) allows for some pretty powerful programs.    The current DOS extender
  4371. + (or rather, the one I'm currently using, there may be newer version with more
  4372. + compatibilities), is not compatible with much of anything besides vanilla DOS.
  4373. + No HIMEM.SYS, EMM386.SYS, QEMM.SYS, Desqview, Windows, etc.  Source for the
  4374. + DOS extender is available with the GCC package.  You can obtain the package 
  4375. + from the internet at grape.ecs.clarkson.edu:pub/msdos/djgcc/* or 
  4376. + (315)268-6667:pub/msdos/djgcc/*. Feel free to add VCPI or DPMI support.     
  4377. + Improvements:
  4378. +     o    RAWBITS binary formats for p?m files.  This allows MUCH faster             
  4379. +         executions times, as well as smaller temporary files.  This same
  4380. +         fix also allows for the familiar unix-style pipings, such as:
  4381. +         tgatoppm dkbtest.tga | ppmquant 256 | ppmtogif > dkbtest.gif
  4382. +         This makes for this source code to be much closer to the PBMPLUS
  4383. +         package as distributed by Jef Poskanzer.
  4384. +         The only minor problem this causes is when you want to use an ASCII
  4385. +         only p?m file, you have to change all the LF/CR sequences into LF only
  4386. +         (that is, run it through a DOS-to-UNIX text file filter).
  4387. +     o    MERGE option for binaries.    This essentially creates one big exectuable
  4388. +         file rather than a bunch of smaller ones.  On unix systems, you can use
  4389. +         this option, as well as file links (pointers to a file, rather than an
  4390. +         actuall file) to point to this one exectuable.    It can save a            
  4391. +         tremendous amount of space.  How the program works depends on what the
  4392. +         name is of program when you execute it.  On a DOS machine, you have to
  4393. +         copy or rename the executable to get the appropriate function (remember,
  4394. +         how the program works depends on how it's named).  If you want the whole
  4395. +         package, the MERGE option will take up more room on a DOS machine, but
  4396. +         it makes for a smaller package to send around the net, and smaller and
  4397. +         putting all the unused files into an archive if you only want part of 
  4398. +         the package.                
  4399. +         The entire PBMPLUS package, when compiled into separate binaries, takes
  4400. +         up just over 6 Megs of diskspace.  The equivalent package compiled using
  4401. +         the merge option takes up about 300k.
  4402. + The executables I plan to distribute are the merged binaries.  The binaries can
  4403. + be renamed/copied to the following to get the desired results:
  4404. +                     pbmmerge.exe  to    brushtop.exe
  4405. +                                         cmuwmtop.exe
  4406. +                                         g3topbm.exe
  4407. +                                         icontopb.exe                  
  4408. +                                         gemtopbm.exe
  4409. +                                         macptopb.exe
  4410. +                                         mgrtopbm.exe                  
  4411. +                                         pbmlife.exe
  4412. +                                         pbmmake.exe
  4413. +                                         pbmmask.exe
  4414. +                                         pbmpaste.exe
  4415. +                                         pbmreduc.exe
  4416. +                                         pbmtext.exe
  4417. +                                         pbmto10x.exe
  4418. +                                         pbmtoasc.exe
  4419. +                                         pbmtobbn.exe
  4420. +                                         pbmtocmu.exe
  4421. +                                         pbmtoeps.exe
  4422. +                                         pbmtog3.exe
  4423. +                                         pbmtogem.exe
  4424. +                                         pbmtogo.exe
  4425. +                                         pbmtoico.exe
  4426. +                                         pbmtolj.exe
  4427. +                                         pbmtomac.exe
  4428. +                                         pbmtomgr.exe
  4429. +                                         pbmtopi3.exe
  4430. +                                         pbmtoplo.exe
  4431. +                                         pbmtoptx.exe
  4432. +                                         pbmtox10.exe
  4433. +                                         pbmtoxbm.exe
  4434. +                                         pbmtoybm.exe
  4435. +                                         pbmtozin.exe
  4436. +                                         pbmupc.exe
  4437. +                                         pi3topbm.exe
  4438. +                                         xbmtopbm.exe
  4439. +                                         ybmtopbm.exe
  4440. +                     pgmmerge.exe to     fitstopg.exe
  4441. +                                         fstopgm.exe
  4442. +                                         hipstopg.exe
  4443. +                                         lispmtop.exe
  4444. +                                         pgmbentl.exe
  4445. +                                         pgmenhan.exe
  4446. +                                         pgmhist.exe
  4447. +                                         pgmnorm.exe
  4448. +                                         pgmoil.exe
  4449. +                                         pgmramp.exe
  4450. +                                         pgmtopbm.exe
  4451. +                                         pgmtofit.exe
  4452. +                                         pgmtofs.exe
  4453. +                                         pgmtolis.exe
  4454. +                                         pgmtops.exe
  4455. +                                         psidtopg.exe
  4456. +                                         rawtopgm.exe
  4457. +                                         pgmedge.exe
  4458. +                     ppmmerge.exe to     giftoppm.exe
  4459. +                                         gouldtop.exe
  4460. +                                         ilbmtopp.exe
  4461. +                                         imgtoppm.exe
  4462. +                                         mtvtoppm.exe
  4463. +                                         pcxtoppm.exe
  4464. +                                         pgmtoppm.exe
  4465. +                                         pi1toppm.exe
  4466. +                                         picttopp.exe
  4467. +                                         ppmhist.exe
  4468. +                                         ppmmake.exe
  4469. +                                         ppmquant.exe
  4470. +                                         ppmrelie.exe
  4471. +                                         ppmtogif.exe
  4472. +                                         ppmtoicr.exe
  4473. +                                         ppmtoilb.exe
  4474. +                                         ppmtopcx.exe
  4475. +                                         ppmtopgm.exe
  4476. +                                         ppmtopi1.exe
  4477. +                                         ppmtopic.exe
  4478. +                                         ppmtops.exe
  4479. +                                         ppmtopuz.exe
  4480. +                                         ppmtorgb.exe
  4481. +                                         ppmtouil.exe
  4482. +                                         ppmtoxpm.exe
  4483. +                                         qrttoppm.exe
  4484. +                                         rawtoppm.exe
  4485. +                                         rgb3topp.exe
  4486. +                                         spctoppm.exe
  4487. +                                         sputoppm.exe
  4488. +                                         tgatoppm.exe
  4489. +                                         ximtoppm.exe
  4490. +                                         xpmtoppm.exe
  4491. +                                         ppmpat.exe
  4492. +                                         
  4493. +                     pnmmerge.exe to     pnmarith.exe
  4494. +                                         pnmcat.exe
  4495. +                                         pnmconvo.exe
  4496. +                                         pnmcrop.exe
  4497. +                                         pnmcut.exe
  4498. +                                         pnmdepth.exe
  4499. +                                         pnmenlar.exe
  4500. +                                         pnmfile.exe
  4501. +                                         pnmflip.exe
  4502. +                                         pnminver.exe
  4503. +                                         pnmnoraw.exe
  4504. +                                         pnmpaste.exe
  4505. +                                         pnmscale.exe
  4506. +                                         pnmtile.exe
  4507. +                                         pnmtoras.exe
  4508. +                                         pnmtoxwd.exe
  4509. +                                         rasttopn.exe
  4510. +                                         xwdtopnm.exe
  4511. +                                         pnmgamma.exe
  4512. +                                         pnmrotat.exe
  4513. +                                         pnmshear.exe
  4514. + Diffs will be also be distributed for those who want to compile the package on
  4515. + their own (The DOS port of GCC is necessary for this).    Aside from the 
  4516. + introduction of the fmod() function to all the main programs, there are some 
  4517. + minor adjustments made to the makefiles to make them work with the DOS port of 
  4518. + GNU-Make.  Two batch files, all.bat and merge.bat are provided to run the make 
  4519. + process.  ALL.BAT will complete make all of the stand alone executables (.exe's
  4520. + files).  MERGE.BAT will only make the 32-bit code in a file called 
  4521. + p?mmerge. which will have to be manually appended to the appropriate STUB.EXE 
  4522. + or GO32.EXE which comes with the DOS port of GCC.  These two batch files are 
  4523. + found in the root directory.  In each of the p?m directory, there are two more 
  4524. + batch files called delp?m.bat and exep?m.bat.  DELP?M.BAT just goes through and 
  4525. + cleans up all the 32-bit code generated by the compiler and should be used after 
  4526. + you make all of the .exe files.  EXEP?M.BAT goes through and prepends with the 
  4527. + go32.exe or stub.exe DOS extenders to each of the 32-bit code segments.  Edit 
  4528. + that batch file to have the appropriate environment variable point to whichever 
  4529. + you want.  I used the BETA TEST distribution of 05feb91 to generate this        
  4530. + version of pbmplus (I no longer have net access, so at this time I'm not sure if
  4531. + this is the latest version).
  4532. + NOTICE:  I made one minor modification to ppmtogif.c.  It now sorts the palette
  4533. + based on it's luminisity.  This makes the darkest color the background color,    
  4534. + which is a personal preference.               
  4535. + I no longer have *reliable* net access, but can be reached via phone and snail 
  4536. + mail at the following:
  4537. + Mike Castle
  4538. + Deer Run Apartments 
  4539. + Apt #29
  4540. + Wright City, MO 63390
  4541. + (314) 745-3164
  4542. diff +ignore-blank-lines +context=3 +new-file +ignore-space-change +recursive pbmplus.old/rm.bat pbmplus.new/rm.bat
  4543. *** pbmplus.old/rm.bat
  4544. --- pbmplus.new/rm.bat    Fri Jul 19 19:57:24 1991
  4545. ***************
  4546. *** 0 ****
  4547. --- 1,9 ----
  4548. + @rem Quick hack to get rm to work for pbmplus makefiles.
  4549. + @rem Place in path if you don't have any unix like utilities.
  4550. + @echo off
  4551. + :start
  4552. + if '%1'=='' goto end
  4553. + del %1
  4554. + shift
  4555. + goto start
  4556. + :end
  4557.