- for (p = s = b->fmt, n = 0; *p; ++p) {
- if (*p == ':' || *(p+1) == 0) {
- char *q = *p == ':'? p : p + 1;
- if ((q - s) != 2) return -2;
- b->gi[n].fmt = char2int(s);
- s = q;
- }
- }
+ for (p = kstrtok(b->fmt, ":", &aux), n = 0; p; p = kstrtok(0, 0, &aux))
+ b->gi[n++].fmt = bcf_str2int(p, aux.p - p);