evans@ditsyda.oz (Bruce Evans) (07/06/89)
Sh sometimes destroys its circular list of allocated memory and then gets stuck in an infinite loop (usually with signals ignored). This typically happens with "ls *.c" where the wild card expands to about 1000 bytes. #! /bin/sh # Contents: sh1.c.cdif # Wrapped by evans@ditsyda on Sat Jun 10 22:07:01 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'sh1.c.cdif' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'sh1.c.cdif'\" else echo shar: Extracting \"'sh1.c.cdif'\" \(378 characters\) sed "s/^X//" >'sh1.c.cdif' <<'END_OF_FILE' X*** /user/sys/commands/sh/sh1.c Wed Jan 25 11:10:15 1989 X--- sh1.c Sun May 28 23:09:05 1989 X*************** X*** 819,823 **** X * merge free cells X */ X! while ((q = p->next)->area > areanum) X p->next = q->next; X /* X--- 819,823 ---- X * merge free cells X */ X! while ((q = p->next)->area > areanum && q != areanxt) X p->next = q->next; X /* END_OF_FILE if test 378 -ne `wc -c <'sh1.c.cdif'`; then echo shar: \"'sh1.c.cdif'\" unpacked with wrong size! fi # end of 'sh1.c.cdif' fi echo shar: End of shell archive. exit 0 Bruce Evans evans@ditsyda.oz.au -- Bruce Evans evans@ditsyda.oz.au