/[pcre]/code/trunk/pcre_exec.c
ViewVC logotype

Diff of /code/trunk/pcre_exec.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 444 by ph10, Sun Sep 13 16:26:39 2009 UTC revision 446 by ph10, Tue Sep 15 10:49:50 2009 UTC
# Line 924  for (;;) Line 924  for (;;)
924        md->recursive = rec->prevrec;        md->recursive = rec->prevrec;
925        memmove(md->offset_vector, rec->offset_save,        memmove(md->offset_vector, rec->offset_save,
926          rec->saved_max * sizeof(int));          rec->saved_max * sizeof(int));
927          offset_top = rec->offset_top;
928        mstart = rec->save_start;        mstart = rec->save_start;
929        ims = original_ims;        ims = original_ims;
930        ecode = rec->after_call;        ecode = rec->after_call;
# Line 1115  for (;;) Line 1116  for (;;)
1116        memcpy(new_recursive.offset_save, md->offset_vector,        memcpy(new_recursive.offset_save, md->offset_vector,
1117              new_recursive.saved_max * sizeof(int));              new_recursive.saved_max * sizeof(int));
1118        new_recursive.save_start = mstart;        new_recursive.save_start = mstart;
1119          new_recursive.offset_top = offset_top;
1120        mstart = eptr;        mstart = eptr;
1121    
1122        /* OK, now we can do the recursion. For each top-level alternative we        /* OK, now we can do the recursion. For each top-level alternative we
# Line 1313  for (;;) Line 1315  for (;;)
1315        {        {
1316        number = GET2(prev, 1+LINK_SIZE);        number = GET2(prev, 1+LINK_SIZE);
1317        offset = number << 1;        offset = number << 1;
1318    
1319  #ifdef DEBUG  #ifdef DEBUG
1320        printf("end bracket %d", number);        printf("end bracket %d", number);
1321        printf("\n");        printf("\n");
# Line 1339  for (;;) Line 1341  for (;;)
1341          mstart = rec->save_start;          mstart = rec->save_start;
1342          memcpy(md->offset_vector, rec->offset_save,          memcpy(md->offset_vector, rec->offset_save,
1343            rec->saved_max * sizeof(int));            rec->saved_max * sizeof(int));
1344            offset_top = rec->offset_top;
1345          ecode = rec->after_call;          ecode = rec->after_call;
1346          ims = original_ims;          ims = original_ims;
1347          break;          break;
# Line 5408  if (rc == MATCH_MATCH) Line 5411  if (rc == MATCH_MATCH)
5411    too many to fit into the vector. */    too many to fit into the vector. */
5412    
5413    rc = md->offset_overflow? 0 : md->end_offset_top/2;    rc = md->offset_overflow? 0 : md->end_offset_top/2;
5414    
5415    /* If there is space, set up the whole thing as substring 0. The value of    /* If there is space, set up the whole thing as substring 0. The value of
5416    md->start_match_ptr might be modified if \K was encountered on the success    md->start_match_ptr might be modified if \K was encountered on the success
5417    matching path. */    matching path. */

Legend:
Removed from v.444  
changed lines
  Added in v.446

  ViewVC Help
Powered by ViewVC 1.1.5