Patch for scsh regexp bug
"Matthew R. Dempsky" <[email protected]> Mon, 23 Oct 2006 16:51:52 -0500
| Newsgroups | gmane.lisp.scheme.scsh |
|---|---|
| Message-ID | <[email protected]> |
I noticed that in posix_compile_regexp, scsh doesn't properly compute the flags argument to pass to regcomp (``|'' has higher precedence than ``?:''). (Unfortunately, this is unrelated to the ``invalid character set'' error from before.) --- regexp1.c~ Mon Oct 23 16:29:43 2006 +++ regexp1.c Mon Oct 23 16:29:43 2006 @@ -66,10 +66,10 @@ s48_value sch_regex; int status; S48_DECLARE_GC_PROTECT(1); - int flags = S48_EXTRACT_BOOLEAN(extended_p) ? REG_EXTENDED : 0 | - S48_EXTRACT_BOOLEAN(ignore_case_p) ? REG_ICASE : 0 | - S48_EXTRACT_BOOLEAN(submatches_p) ? 0 : REG_NOSUB | - S48_EXTRACT_BOOLEAN(newline_p) ? REG_NEWLINE : 0; + int flags = (S48_EXTRACT_BOOLEAN(extended_p) ? REG_EXTENDED : 0) | + (S48_EXTRACT_BOOLEAN(ignore_case_p) ? REG_ICASE : 0) | + (S48_EXTRACT_BOOLEAN(submatches_p) ? 0 : REG_NOSUB) | + (S48_EXTRACT_BOOLEAN(newline_p) ? REG_NEWLINE : 0); S48_GC_PROTECT_1(pattern);