Path: ns-mx!uunet!charon.amdahl.com!amdahl!fadden From: fadden@uts.amdahl.com (Andy McFadden) Newsgroups: comp.sys.apple2,comp.binaries.apple2 Subject: NuLib 3.2 --> 3.21 patches Message-ID: <6dKg02ROd6vo00@amdahl.uts.amdahl.com> Date: 22 Apr 92 23:06:19 GMT Reply-To: fadden@tde.uts.amdahl.com (Andy McFadden) Followup-To: comp.sys.apple2 Organization: Amdahl Corporation, Sunnyvale CA Lines: 123 Xref: ns-mx comp.sys.apple2:35432 comp.binaries.apple2:2877 "There's always one more bug." This will patch NuLib v3.2 to v3.21. This patch fixes an old bug which just never went away (bad arg declaration for OtherArc() - thanks go to Larry W. Virden), a brand new bug (don't even THINK about trying to extract older archives!), and a medium-age non-existent bug (I figured out why the #ifdefed out RLE stuff didn't work). You can apply this patch with "patch < myfile". You don't need to strip off the news headers. If your system doesn't have patch, you'll have to do it manually, but it's pretty easy to figure out what's going on. Since this is short, I've posted it to both newsgroups. Followups should go to comp.sys.apple2. (Usually I post the message in comp.binaries and then post a "FuBar revsion 9.135 is available on c.s.a2, but this is both short and somewhat urgent... some systems may throw fits when asked to create a file composed of delete characters.) ----- *** numain.c.old Wed Apr 22 15:52:34 1992 --- numain.c Wed Apr 22 15:53:04 1992 *************** *** 9,15 #endif static char *header = ! "NuLib v3.2 April 1992 Freeware Copyright 1989-92 By Andy McFadden"; #include "nudefs.h" /* system-dependent defines */ #include /* standard I/O library */ --- 9,15 ----- #endif static char *header = ! "NuLib v3.21 April 1992 Freeware Copyright 1989-92 By Andy McFadden"; #include "nudefs.h" /* system-dependent defines */ #include /* standard I/O library */ *** nuread.c.old Wed Apr 22 15:52:37 1992 --- nuread.c Wed Apr 22 15:53:24 1992 *************** *** 37,42 /* quick proc to save x00 bytes of static storage */ void OtherArc(str1, str2) { fprintf(stderr, "File may be %s; try \"%s\".\n", str1, str2); } --- 37,43 ----- /* quick proc to save x00 bytes of static storage */ void OtherArc(str1, str2) + char *str1, *str2; { fprintf(stderr, "File may be %s; try \"%s\".\n", str1, str2); } *************** *** 560,566 BCopy(namebuf, (onebyt *) RNodePtr->filename, namelen, FALSE); RNodePtr->filename[namelen] = '\0'; for (cp = RNodePtr->filename; *cp; cp++) ! *cp |= 0x7f; /*strip high bits from old-style names*/ } else { RNodePtr->filename = UNKNOWN_FN; RNodePtr->real_fn_length = strlen(UNKNOWN_FN); --- 561,567 ----- BCopy(namebuf, (onebyt *) RNodePtr->filename, namelen, FALSE); RNodePtr->filename[namelen] = '\0'; for (cp = RNodePtr->filename; *cp; cp++) ! *cp &= 0x7f; /*strip high bits from old-style names*/ } else { RNodePtr->filename = UNKNOWN_FN; RNodePtr->real_fn_length = strlen(UNKNOWN_FN); *** nushk.c.old Wed Apr 22 15:55:05 1992 --- nushk.c Wed Apr 22 15:55:52 1992 *************** *** 327,335 /* * This was an attempt to write a faster do_RLE routine. However, * the profiler on my machine showed it to be slower than the big ! * wad of stuff above. In addition, this code does NOT work 100% ! * correctly. I decided to leave the code here in case somebody ! * wants to play with it. */ register onebyt *scanptr; onebyt *endptr, *dststart; --- 327,334 ----- /* * This was an attempt to write a faster do_RLE routine. However, * the profiler on my machine showed it to be slower than the big ! * wad of stuff above. I decided to leave the code here in case ! * somebody wants to play with it. */ register onebyt *scanptr; onebyt *endptr, *dststart; *************** *** 351,357 do { *(dstptr++) = ESCAPE_CHAR; *(dstptr++) = c; ! if (count > 256) { *(dstptr++) = 255; i -= 256; } else { --- 350,356 ----- do { *(dstptr++) = ESCAPE_CHAR; *(dstptr++) = c; ! if (i > 256) { *(dstptr++) = 255; i -= 256; } else { -- fadden@uts.amdahl.com (Andy McFadden) [ Above opinions are mine, Amdahl has nothing to do with them, etc, etc. ]