5.0.0b2-dev

int(1)
int(1)
array(1) {
  [0]=>
  string(3) "abc"
}

<pre>
<?php

echo phpversion(), "<br>\n";

var_dump(preg_match('/php/i','PHP is the web scripting language of choice.'));
var_dump(preg_match('/abc/','fredabc',$matches)); 
var_dump($matches); 

show_source('pcre.php');

?>
<pre>


    Aka. BULLSHIT.

    --Jani

    p.s. Fix your build.


On Sat, 12 Jul 2003, Alan Knowles wrote:

>Jani Taskinen wrote:
>>     Fixed in CVS now. :)
>
>nice try:) -
>something as simple as this still kills it..
><? echo preg_match('/abc/','fredabc',$matches); ?>
>
>Regards
>Alan
>
>
>>     
>>     --Jani
>>     
>> 
>> On Thu, 10 Jul 2003, Alan Knowles wrote:
>> 
>> 
>>>>@@ -420,7 +421,32 @@
>>>>    size_offsets = num_subpats * 3;
>>>>    offsets = (int *)safe_emalloc(size_offsets, sizeof(int), 0);
>>>> 
>>>>-   /* Allocate match sets array and initialize the values */
>>>>+   /*
>>>>+    * Build a mapping from subpattern numbers to their names. We will always
>>>>+    * allocate the table, even though they may be no named subpatterns. This
>>>>+    * avoids somewhat more complicated logic in the inner loops.
>>>>+    */
>>>>+   subpat_names = (char **)safe_emalloc(num_subpats, sizeof(char *), 0);
>>>>+   memset(subpat_names, 0, sizeof(char *) * num_subpats);
>>>>+   {
>>>>+           int name_cnt, name_size, ni = 0;
>>>>+           char *name_table;
>>>>+           unsigned short name_idx;
>>>>+
>>>>+           pcre_fullinfo(re, extra, PCRE_INFO_NAMECOUNT, &name_cnt);
>>>>+           if (name_cnt > 0) {
>>>>+                   pcre_fullinfo(re, extra, PCRE_INFO_NAMETABLE, &name_table);
>>>>+                   pcre_fullinfo(re, extra, PCRE_INFO_NAMEENTRYSIZE, &name_size);
>>>>+
>>>>+                   while (ni++ < name_cnt) {
>>>>+                           name_idx = 0xff * name_table[0] + name_table[1];
>>>>+                           subpat_names[name_idx] = name_table + 2;
>>>
>>>I'm getting name_idx = 23078, sizeof(subpat_names) = 4 here.
>>>
>>>backing out the patch solves the problem
>>>
>>>(sorry I've no idea what the code causing the problem is - it's part of 
>>> a huge app...)
>>>
>>>Regards
>>>Alan
>>>
>>>
>>>
>>>>+                           name_table += name_size;
>>>>+                   }
>>>>+           }
>>>>+   }
>>>>+
>>>>+   /* Allocate match sets array and initialize the values. */
>>>>    if (global && subpats_order == PREG_PATTERN_ORDER) {
>>>>            match_sets = (zval **)safe_emalloc(num_subpats, sizeof(zval *), 0);
>>>>            for (i=0; i<num_subpats; i++) {
>>>
>>>
>>>
>>>
>> 
>
>

-- 
https://www.paypal.com/xclick/[EMAIL PROTECTED]&no_note=1&tax=0&currency_code=EUR
 


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to