Path: utzoo!attcan!uunet!pcrat!jetroff From: jetroff@pcrat.UUCP (JetRoff Mail) Newsgroups: comp.sources.bugs Subject: JetRoff Patch01 Keywords: DWB troff postprocessor for HP LaserJet Series II Message-ID: <589@pcrat.UUCP> Date: 3 Oct 88 21:23:16 GMT Organization: PC Research, Inc., Tinton Falls, NJ Lines: 150 JetRoff version 1.3 Patch 01. 10/03/88. This patch was contributed by Lou Salkind (Thanks, Lou!). Apply this patch this way: cd root_of_JetRoff_source patch -p storage[pk_loc++]); } ! short pk_short() { ! register short a = pk_byte(); return (a*256 + pk_byte()); } long pk_long() { register long a = pk_short(); ! if (a > 32767) a -= 65536; ! return (a*65536 + pk_short()); } /* --- 134,160 ---- int pk_loc; unsigned char pk_byte() { return (pk[npk]->storage[pk_loc++]); } ! ! pk_sbyte() { ! register int a = pk_byte(); ! if (a > 127) a -= 256; ! return(a); ! } ! pk_short() ! { ! register short a = pk_sbyte(); return (a*256 + pk_byte()); } + uint pk_ushort() + { + register ushort a = pk_byte(); + return (a*256 + pk_byte()); + } long pk_long() { register long a = pk_short(); ! return (a*65536 + pk_ushort()); } /* *************** *** 268,275 **** /* dy = 0; not used */ w = pk_byte(); h = pk_byte(); ! hoff = (char) pk_byte(); ! voff = (char) pk_byte(); } if (cc < 0 || cc > 127) error(1, "character code out of range"); --- 279,286 ---- /* dy = 0; not used */ w = pk_byte(); h = pk_byte(); ! hoff = pk_sbyte(); ! voff = pk_sbyte(); } if (cc < 0 || cc > 127) error(1, "character code out of range"); *** font/devjet/makeDESC.c.bak Tue Sep 27 04:50:00 1988 --- font/devjet/makeDESC.c Thu Sep 29 01:20:55 1988 *************** *** 120,135 **** int pk_loc; unsigned char pk_byte() { return (pk[npk]->storage[pk_loc++]); } ! short pk_short() { ! register short a = pk_byte(); return (a*256 + pk_byte()); } long pk_long() { register long a = pk_short(); ! if (a > 32767) a -= 65536; ! return (a*65536 + pk_short()); } /* --- 120,146 ---- int pk_loc; unsigned char pk_byte() { return (pk[npk]->storage[pk_loc++]); } ! ! pk_sbyte() { ! register int a = pk_byte(); ! if (a > 127) a -= 256; ! return(a); ! } ! pk_short() ! { ! register short a = pk_sbyte(); return (a*256 + pk_byte()); } + uint pk_ushort() + { + register ushort a = pk_byte(); + return (a*256 + pk_byte()); + } long pk_long() { register long a = pk_short(); ! return (a*65536 + pk_ushort()); } /* *************** *** 254,261 **** dy = 0; w = pk_byte(); h = pk_byte(); ! hoff = (char) pk_byte(); ! voff = (char) pk_byte(); } if (cc < 0 || cc > 127) error(1, "character code %d out of range", cc); --- 265,272 ---- dy = 0; w = pk_byte(); h = pk_byte(); ! hoff = pk_sbyte(); ! voff = pk_sbyte(); } if (cc < 0 || cc > 127) error(1, "character code %d out of range", cc);