[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: es-0.90-alpha dumping core on a ~~



Soren Dayton wrote [trimmed slightly]
> ; echo <={ variable = <={ %split / $wd } }
> nfs woodlawn w4 csdayton
> ; echo <={ variable = $variable( 3 ... ) }
> w4 csdayton
> ; echo <={ ~~ $variable(1) [qwek][0-9] }
> match.c:206: assertion failed (j != RANGE_FAIL)
> Process shell abort (core dumped)
> 
> After a quick glance at the code, I do not see what the problem is...

The problem was that, after extracting a character class match, I
forgot to skip forward over the rest of the character class.  The bug
only shows up if some other pattern follows the character class.  This
code should be better commented.  A patch follows.

> Is there a list of known bugs and patches somewhere?  I would really
> like to use the alpha for reasons like ~~.

There haven't been enough patches yet.  This is, in fact, the first
serious bug fix, I think.  The rest have been some portability nits.

I'll release an alpha-2 after the stuff in alpha-1 has gotten more
testing.

Paul

===================================================================
RCS file: RCS/match.c,v
retrieving revision 1.5
diff -c -r1.5 match.c
*** 1.5	1995/05/30 11:13:31
--- match.c	1995/08/24 11:09:30
***************
*** 208,213 ****
--- 208,214 ----
  					assert(*s == '[');
  					break;
  				}
+ 				i += j;
  			    }
  			    /* FALLTHROUGH */
  			    case '?':