Home | History | Annotate | Download | only in libebl

Lines Matching defs:newstr

189   struct Ebl_Strent *newstr = (struct Ebl_Strent *) (st->backp + align);
190 newstr->string = str;
191 newstr->len = len;
192 newstr->next = NULL;
193 newstr->left = NULL;
194 newstr->right = NULL;
195 newstr->offset = 0;
197 newstr->reverse[i] = str[len - 2 - i];
198 newstr->reverse[len - 1] = '\0';
202 return newstr;
210 searchstring (struct Ebl_Strent **sep, struct Ebl_Strent *newstr)
215 *sep = newstr;
220 int cmpres = memcmp ((*sep)->reverse, newstr->reverse,
221 MIN ((*sep)->len, newstr->len) - 1);
226 return searchstring (&(*sep)->left, newstr);
228 return searchstring (&(*sep)->right, newstr);
246 struct Ebl_Strent *newstr = newstring (st, str, len);
247 if (newstr == NULL)
253 struct Ebl_Strent **sep = searchstring (&st->root, newstr);
254 if (*sep != newstr)
257 if ((*sep)->len > newstr->len)
262 if (subs->len == newstr->len)
266 st->left += st->backp - (char *) newstr;
267 st->backp = (char *) newstr;
274 st->backp -= newstr->len;
275 st->left += newstr->len;
277 newstr->next = (*sep)->next;
278 (*sep)->next = newstr;
280 else if ((*sep)->len != newstr->len)
285 st->total += newstr->len - (*sep)->len;
286 newstr->next = *sep;
287 newstr->left = (*sep)->left;
288 newstr->right = (*sep)->right;
289 *sep = newstr;
294 st->left += st->backp - (char *) newstr;
295 st->backp = (char *) newstr;
297 newstr = *sep;
301 st->total += newstr->len;
303 return newstr;