Home | History | Annotate | Download | only in libebl

Lines Matching defs:newstr

174   struct Ebl_WStrent *newstr;
195 newstr = (struct Ebl_WStrent *) (st->backp + align);
196 newstr->string = str;
197 newstr->len = len;
198 newstr->next = NULL;
199 newstr->left = NULL;
200 newstr->right = NULL;
201 newstr->offset = 0;
203 newstr->reverse[i] = str[len - 2 - i];
204 newstr->reverse[len - 1] = L'\0';
208 return newstr;
216 searchstring (struct Ebl_WStrent **sep, struct Ebl_WStrent *newstr)
223 *sep = newstr;
228 cmpres = wmemcmp ((*sep)->reverse, newstr->reverse,
229 MIN ((*sep)->len, newstr->len) - 1);
234 return searchstring (&(*sep)->left, newstr);
236 return searchstring (&(*sep)->right, newstr);
244 struct Ebl_WStrent *newstr;
257 newstr = newstring (st, str, len);
258 if (newstr == NULL)
264 sep = searchstring (&st->root, newstr);
265 if (*sep != newstr)
268 if ((*sep)->len > newstr->len)
274 if (subs->len == newstr->len)
278 st->left += st->backp - (char *) newstr;
279 st->backp = (char *) newstr;
286 st->backp -= newstr->len;
287 st->left += newstr->len;
289 newstr->next = (*sep)->next;
290 (*sep)->next = newstr;
292 else if ((*sep)->len != newstr->len)
297 st->total += newstr->len - (*sep)->len;
298 newstr->next = *sep;
299 newstr->left = (*sep)->left;
300 newstr->right = (*sep)->right;
301 *sep = newstr;
306 st->left += st->backp - (char *) newstr;
307 st->backp = (char *) newstr;
309 newstr = *sep;
313 st->total += newstr->len;
315 return newstr;