5e993f12 |
1 | --- old-dokuwiki/inc/parser/lexer.php 2007-05-25 17:39:03.000000000 -0400 |
2 | +++ new-dokuwiki/inc/parser/lexer.php 2007-05-25 17:39:03.000000000 -0400 |
3 | @@ -112,11 +112,16 @@ |
4 | return false; |
5 | } |
6 | |
7 | - if (! preg_match($this->_getCompoundedRegex(), $subject, $matches)) { |
8 | + $match = preg_match($this->_getCompoundedRegex(), $subject, $matches); |
9 | + if (is_bool($match) && $match == false) { |
10 | + /* some problem occurred */ |
11 | + return -1; |
12 | + } else if ($match == 0) { |
13 | $split = array($subject, "", ""); |
14 | return false; |
15 | } |
16 | |
17 | + |
18 | $idx = count($matches)-2; |
19 | |
20 | list($pre, $post) = preg_split($this->_patterns[$idx].$this->_getPerlMatchingFlags(), $subject, 2); |
21 | @@ -535,7 +540,10 @@ |
22 | if ($raw === "") { |
23 | return true; |
24 | } |
25 | - if ($action = $this->_regexes[$this->_mode->getCurrent()]->split($raw, $split)) { |
26 | + $action = $this->_regexes[$this->_mode->getCurrent()]->split($raw, $split); |
27 | + if (is_int($action) && $action == -1) |
28 | + return false; |
29 | + if ($action) { |
30 | list($unparsed, $match, $raw) = $split; |
31 | return array($unparsed, $match, $action); |
32 | } |
33 | |