Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!elroy!devvax!lroot From: lroot@devvax.JPL.NASA.GOV (The Superuser) Newsgroups: comp.sources.bugs Subject: perl 2.0 patch #8 Summary: This is an official patch for perl 2.0. Please apply it. Message-ID: <2452@devvax.JPL.NASA.GOV> Date: 14 Jul 88 04:37:56 GMT Organization: Jet Propulsion Laboratory, Pasadena, CA Lines: 100 System: perl version 2.0 Patch #: 8 Priority: HIGH on Suns Subject: globs fail on Suns From: peterli@mis.ucsf.EDU (Peter Li) Description: The op.stat test has a NULL dereference because patch2 was incomplete. It shows up when trying to do file globs. Ordinarily I test on Suns but this one snuck by somehow. Sorry. I promise I won't send any more patches. Well, not for the next 8 hours, anyway... Fix: From rn, say "| patch -p -N -d DIR", where DIR is your perl source directory. Outside of rn, say "cd DIR; patch -p -N#define PATCHLEVEL 8 Index: eval.c Prereq: 2.0.1.2 *** eval.c.old Wed Jul 13 21:21:49 1988 --- eval.c Wed Jul 13 21:21:51 1988 *************** *** 1,6 **** ! /* $Header: eval.c,v 2.0.1.2 88/07/12 17:16:15 root Exp $ * * $Log: eval.c,v $ * Revision 2.0.1.2 88/07/12 17:16:15 root * patch6: removed uselss ++ * --- 1,9 ---- ! /* $Header: eval.c,v 2.0.1.3 88/07/13 21:21:35 root Exp $ * * $Log: eval.c,v $ + * Revision 2.0.1.3 88/07/13 21:21:35 root + * patch8: changed occurences of vestigial tmps to tmpstr + * * Revision 2.0.1.2 88/07/12 17:16:15 root * patch6: removed uselss ++ * *************** *** 274,283 **** else if (argtype == A_GLOB) { (void) interp(str,str_get(last_in_stab->stab_val)); tmpstr = str_new(0); ! if (*tmps == '!') str_sset(tmpstr,str),str_cat(tmpstr,"|"); else { ! if (*tmps == ';') str_set(tmpstr,str->str_ptr+1); else str_set(tmpstr, "echo "), str_scat(tmpstr,str); --- 277,286 ---- else if (argtype == A_GLOB) { (void) interp(str,str_get(last_in_stab->stab_val)); tmpstr = str_new(0); ! if (*str->str_ptr == '!') str_sset(tmpstr,str),str_cat(tmpstr,"|"); else { ! if (*str->str_ptr == ';') str_set(tmpstr,str->str_ptr+1); else str_set(tmpstr, "echo "), str_scat(tmpstr,str);