Lines Matching defs:gs
126 grouping_init(struct grouping_state *gs, int ndigits, locale_t loc)
129 gs->grouping = __fix_nogrouping(localeconv_l(loc)->grouping);
130 gs->thousands_sep = get_thousep(loc);
132 gs->nseps = gs->nrepeats = 0;
133 gs->lead = ndigits;
134 while (*gs->grouping != CHAR_MAX) {
135 if (gs->lead <= *gs->grouping)
137 gs->lead -= *gs->grouping;
138 if (*(gs->grouping+1)) {
139 gs->nseps++;
140 gs->grouping++;
142 gs->nrepeats++;
144 return (gs->nseps + gs->nrepeats);
151 grouping_print(struct grouping_state *gs, struct io_state *iop,
156 if (io_printandpad(iop, cp, ep, gs->lead, zeroes, loc))
158 cp += gs->lead;
159 while (gs->nseps > 0 || gs->nrepeats > 0) {
160 if (gs->nrepeats > 0)
161 gs->nrepeats--;
163 gs->grouping--;
164 gs->nseps--;
166 if (io_print(iop, &gs->thousands_sep, 1, loc))
168 if (io_printandpad(iop, cp, ep, *gs->grouping, zeroes, loc))
170 cp += *gs->grouping;
402 struct grouping_state gs; /* thousands' grouping info */
582 gs.grouping = NULL;
884 size += grouping_init(&gs, expt, loc);
1051 size += grouping_init(&gs, size, loc);
1400 if (gs.grouping) {
1401 if (grouping_print(&gs, &io, cp, buf+BUF, loc) < 0)
1417 if (gs.grouping) {
1418 n = grouping_print(&gs, &io,