* lib/mbssep.c: Include mbuiterf.h instead of mbuiter.h.
(mbssep): Use mbuif_* macros instead of mbui_* macros.
* modules/mbssep (Depends-on): Add mbuiterf. Remove mbuiter.
2023-07-18 Bruno Haible <bruno@clisp.org>
+ mbssep: Optimize.
+ * lib/mbssep.c: Include mbuiterf.h instead of mbuiter.h.
+ (mbssep): Use mbuif_* macros instead of mbui_* macros.
+ * modules/mbssep (Depends-on): Add mbuiterf. Remove mbuiter.
+
mbsrchr: Optimize.
* lib/mbsrchr.c: Include mbuiterf.h instead of mbuiter.h.
(mbsrchr): Use mbuif_* macros instead of mbui_* macros.
#include <stdlib.h>
-#include "mbuiter.h"
+#include "mbuiterf.h"
char *
mbssep (char **stringp, const char *delim)
}
else
{
- mbui_iterator_t iter;
-
- mbui_init (iter, ptr);
- if (!mbui_avail (iter))
+ mbuif_state_t state;
+ mbuif_init (state);
+ if (!mbuif_avail (state, ptr))
abort ();
- mbui_advance (iter);
+ mbchar_t cur = mbuif_next (state, ptr);
*ptr = '\0';
- *stringp = (char *) mbui_cur_ptr (iter);
+ *stringp = ptr + mb_len (cur);
return start;
}
}
lib/mbssep.c
Depends-on:
-mbuiter
+mbuiterf
string
mbspbrk
strsep