# HG changeset patch # User dan # Date 1258001050 18000 # Node ID 4fdd92da4fe8c70a687ed7c9e23acac169161a57 # Parent 6e51ca5e29eb47c7099b779e9475374e7572c828 Hack: temporarily disabled PCRE recursion for Win32 in the paragraph block tag parser until a better parser can be written/adapted diff -r 6e51ca5e29eb -r 4fdd92da4fe8 includes/wikiengine/parse_mediawiki.php --- a/includes/wikiengine/parse_mediawiki.php Mon Nov 09 09:18:29 2009 -0500 +++ b/includes/wikiengine/parse_mediawiki.php Wed Nov 11 23:44:10 2009 -0500 @@ -219,6 +219,14 @@ $tokens = array(); $rand_id = sha1(microtime() . mt_rand()); + + // Temporary hack to fix crashes under win32. Sometime I'll write a loop based + // parser for this whole section. Maybe. Perhaps the Apache folks will fix their + // Windows binaries first. + if ( PHP_OS == 'WIN32' || PHP_OS == 'WINNT' ) + { + $regex = str_replace("(?: (?R) | .*? )*", "(?: .*? )", $regex); + } if ( preg_match_all($regex, $text, $matches) ) { foreach ( $matches[0] as $i => $match ) @@ -234,7 +242,7 @@ } // die('
' . htmlspecialchars($text) . '
'); - + RenderMan::tag_unstrip('_paragraph_bypass', $text, $_nw, true); // This is potentially a hack. It allows the parser to stick in <_paragraph_bypass> tags