+++ /dev/null
-From mjeffery@reed.edu Sun Nov 29 14:07:23 1992
-From: mjeffery@reed.edu (Mark Jefferys)
-Newsgroups: comp.lang.perl
-Subject: Re: Recursion error in perl 4.035 ?
-Date: 28 Nov 92 23:31:14 GMT
-Organization: Reed College, Portland, OR
-
-In article <1f7uvvINN9tp@roundup.crhc.uiuc.edu> parkes@uiuc.edu writes:
-
-% In cons.c, change the code at or around 1423 from
-%
-% if (willsave)
-% (void)apush(tosave,arg->arg_ptr.arg_str);
-%
-% to
-%
-% if (willsave && arg->arg_ptr.arg_str )
-% (void)apush(tosave,arg->arg_ptr.arg_str);
-
-This is half of my patch to which Larry gave a "Looks OK to me."
-It's been a few months, do I'll post it again.
-
-
-Mark
-
-
-Index: cons.c
-*** Orig/cons.c Thu Jun 11 22:42:01 1992
---- cons.c Sun Jun 28 18:31:20 1992
-***************
-*** 1353,1359 ****
-
- /* in any event, save the iterator */
-
-! (void)apush(tosave,cmd->c_short);
- }
- shouldsave |= tmpsave;
- }
---- 1353,1360 ----
-
- /* in any event, save the iterator */
-
-! if (cmd->c_short) /* Better safe than sorry */
-! (void)apush(tosave,cmd->c_short);
- }
- shouldsave |= tmpsave;
- }
-***************
-*** 1420,1426 ****
- shouldsave = TRUE;
- break;
- }
-! if (willsave)
- (void)apush(tosave,arg->arg_ptr.arg_str);
- return shouldsave;
- }
---- 1421,1427 ----
- shouldsave = TRUE;
- break;
- }
-! if (willsave && arg->arg_ptr.arg_str)
- (void)apush(tosave,arg->arg_ptr.arg_str);
- return shouldsave;
- }
---
-Mark Jefferys Internet: mjeffery@reed.edu
-
-From ezk@cs.columbia.edu Fri Dec 4 19:44:03 1992
-From: ezk@cs.columbia.edu (Erez "HWank1" Zadok)
-Newsgroups: comp.lang.perl
-Subject: REPOST: FIXES to perl/makewhatis (core dump on OW3 man pages)
-Date: 3 Dec 92 12:42:05 GMT
-
-[This is a repost... -Erez]
-
-I've found three small bugs in the the latest version of perl (4.035), which
-I fixed.
-
-The bugs only appeared when I got Tom Christiansen's man package, and ran
-the makewhatis script. Furthermore, it only occurred for one particular set
-of manual pages -- SunOS's OpenWindows 3.
-
-Since it seemed related to DBM, I tried to recompile perl with several
-possible combinations of Sun's /bin/cc, gcc (2.2.2), ndbm, gdbm,
-- -DDEBUGGING, -traditional (for gcc), Perl's malloc, Sun's malloc, etc. to no
-avail. Perl was still dumping core with a segmentation fault. "make test"
-was ok. I was running on various Sun 4 machines, running SunOS 4.1.2.
-
-After debugging I found out that perl was trying to dereference pointers
-that were not initialized.
-
-I fixed this by adding initialization to three declarations in perl.h. The
-ones to rsfp and statstab were needed for non-compressed man pages. When I
-started using compressed man pages I discovered I had to initialize fdpid as
-well. Now everything works fine. Here is the diff file:
-
-*** array.h.orig Tue Nov 24 02:16:30 1992
---- array.h Mon Nov 23 14:31:16 1992
-***************
-*** 17,22 ****
---- 17,33 ----
- *
- */
-
-+ #ifdef NULL
-+ #undef NULL
-+ #endif
-+ #ifndef I286
-+ # define NULL 0
-+ #else
-+ # define NULL 0L
-+ #endif
-+ #define Null(type) ((type)NULL)
-+ #define Nullarray Null(ARRAY*)
-+
- struct atbl {
- STR **ary_array;
- STR **ary_alloc;
-*** perl.h.orig Tue Nov 24 02:16:10 1992
---- perl.h Mon Nov 23 14:30:51 1992
-***************
-*** 868,874 ****
-
- EXT char *hexdigit INIT("0123456789abcdef0123456789ABCDEFx");
- EXT char *origfilename;
-! EXT FILE * VOLATILE rsfp;
- EXT char buf[1024];
- EXT char *bufptr;
- EXT char *oldbufptr;
---- 868,874 ----
-
- EXT char *hexdigit INIT("0123456789abcdef0123456789ABCDEFx");
- EXT char *origfilename;
-! EXT FILE * VOLATILE rsfp INIT(Nullfp);
- EXT char buf[1024];
- EXT char *bufptr;
- EXT char *oldbufptr;
-***************
-*** 952,958 ****
- EXT struct stat statbuf;
- EXT struct stat statcache;
- EXT STAB *statstab INIT(Nullstab);
-! EXT STR *statname;
- #ifndef MSDOS
- EXT struct tms timesbuf;
- #endif
---- 952,958 ----
- EXT struct stat statbuf;
- EXT struct stat statcache;
- EXT STAB *statstab INIT(Nullstab);
-! EXT STR *statname INIT(Nullstr);
- #ifndef MSDOS
- EXT struct tms timesbuf;
- #endif
-***************
-*** 1013,1019 ****
- EXT ARRAY *lineary; /* lines of script for debugger */
- EXT ARRAY *dbargs; /* args to call listed by caller function */
-
-! EXT ARRAY *fdpid; /* keep fd-to-pid mappings for mypopen */
- EXT HASH *pidstatus; /* keep pid-to-status mappings for waitpid */
-
- EXT int *di; /* for tmp use in debuggers */
---- 1013,1019 ----
- EXT ARRAY *lineary; /* lines of script for debugger */
- EXT ARRAY *dbargs; /* args to call listed by caller function */
-
-! EXT ARRAY *fdpid INIT(Nullarray); /* keep fd-to-pid mappings for mypopen */
- EXT HASH *pidstatus; /* keep pid-to-status mappings for waitpid */
-
- EXT int *di; /* for tmp use in debuggers */
-
-
-Erez Zadok.
-Central Research Facilities.
-Columbia University Department of Computer Science.
-- ---
-"A wank's morning starts one jiffy | Arpa: ezk@cs.columbia.edu
- after midnight." | Usenet: ...!rutgers!columbia!cs!ezk
- -HebrewWank #1 (US meaning, not UK!) | Bitnet: erzus@cuvmb.BITNET