comparison src/mule.c @ 185:3d6bfa290dbd r20-3b19

Import from CVS: tag r20-3b19
author cvs
date Mon, 13 Aug 2007 09:55:28 +0200
parents 8eaf7971accc
children c5d627a313b1
comparison
equal deleted inserted replaced
184:bcd2674570bf 185:3d6bfa290dbd
51 temp =XCONS (pattern)->car; 51 temp =XCONS (pattern)->car;
52 CHECK_VECTOR (temp); 52 CHECK_VECTOR (temp);
53 CHECK_STRING (XVECTOR_DATA (temp)[0]); 53 CHECK_STRING (XVECTOR_DATA (temp)[0]);
54 s = XSTRING (XVECTOR_DATA (temp)[0]); 54 s = XSTRING (XVECTOR_DATA (temp)[0]);
55 if (!wordbuf[i]) 55 if (!wordbuf[i])
56 wordbuf[i] = (struct re_pattern_buffer *) 56 wordbuf[i] = xnew (struct re_pattern_buffer);
57 xmalloc (sizeof (struct re_pattern_buffer));
58 else 57 else
59 if (wordbuf[i]->buffer) xfree (wordbuf[i]->buffer); 58 if (wordbuf[i]->buffer) xfree (wordbuf[i]->buffer);
60 wordbuf[i]->buffer = (char *) xmalloc (s->size + 1); 59 wordbuf[i]->buffer = (char *) xmalloc (s->size + 1);
61 wordbuf[i]->used = s->size; 60 wordbuf[i]->used = s->size;
62 memcpy (wordbuf[i]->buffer, s->data, s->size + 1); 61 memcpy (wordbuf[i]->buffer, s->data, s->size + 1);
72 71
73 wordbuf[i]->syntax_version = 0; 72 wordbuf[i]->syntax_version = 0;
74 wordbuf[i]->category_version = 0; 73 wordbuf[i]->category_version = 0;
75 74
76 wordbuf[i]->regs_allocated = REGS_UNALLOCATED; 75 wordbuf[i]->regs_allocated = REGS_UNALLOCATED;
77 wordbuf[i]->re_nsub = 0; 76 wordbuf[i]->re_nsub = 0;
78 wordbuf[i]->no_sub = 0; 77 wordbuf[i]->no_sub = 0;
79 wordbuf[i]->newline_anchor = 1; 78 wordbuf[i]->newline_anchor = 1;
80 79
81 wordbuf[i]->syntax = 0; 80 wordbuf[i]->syntax = 0;
82 wordbuf[i]->not_bol = wordbuf[i]->not_eol = 0; 81 wordbuf[i]->not_bol = wordbuf[i]->not_eol = 0;
86 for (; i < MAXWORDBUF && wordbuf[i]; i++) 85 for (; i < MAXWORDBUF && wordbuf[i]; i++)
87 { 86 {
88 if (wordbuf[i]->buffer) xfree (wordbuf[i]->buffer); 87 if (wordbuf[i]->buffer) xfree (wordbuf[i]->buffer);
89 xfree (wordbuf[i]); 88 xfree (wordbuf[i]);
90 wordbuf[i] = (struct re_pattern_buffer *) 0; 89 wordbuf[i] = (struct re_pattern_buffer *) 0;
91 } 90 }
92 return Qnil; 91 return Qnil;
93 } 92 }
94 93
95 #endif /* MULE_REGEXP */ 94 #endif /* MULE_REGEXP */
96 95