Lines Matching refs:state
71 * A CONV_EXPN_FIELD_STATE variable is used to maintain the buffer state
76 * state - Variable used to maintain buffer state between calls.
84 * separator if appropriate. state has been updated.
99 cef_cp(CONV_EXPN_FIELD_ARG *arg, CONV_EXPN_FIELD_STATE *state,
110 if (state->list_cnt != 0) {
111 if (state->sep_str_len < state->room) {
112 (void) memcpy(state->cur, state->sep_str,
113 state->sep_str_len);
114 state->cur += state->sep_str_len;
115 state->room -= state->sep_str_len;
118 state->room = 0;
121 state->list_cnt++;
125 if (n < state->room) {
126 (void) memcpy(state->cur, str, n);
127 state->cur += n;
128 state->room -= n;
145 CONV_EXPN_FIELD_STATE *state)
149 /* Initialize buffer state */
150 state->cur = arg->buf;
151 state->room = arg->bufsize;
152 state->list_cnt = 0;
153 state->sep_str = arg->sep ? arg->sep : MSG_ORIG(MSG_GBL_SEP);
154 state->sep_str_len = strlen(state->sep_str);
158 if (!cef_cp(arg, state, FALSE,
166 if (!cef_cp(arg, state, TRUE, *lead_str++))
179 CONV_EXPN_FIELD_STATE *state, Xword rflags)
189 if (!cef_cp(arg, state, TRUE, inv_buf.buf))
195 if (!cef_cp(arg, state, FALSE,
200 *state->cur = '\0';
231 CONV_EXPN_FIELD_STATE state;
234 if (cef_setup(arg, fmt_flags, &state) == FALSE)
243 if (!cef_cp(arg, &state, TRUE,
252 return (cef_wrap(arg, fmt_flags, &state, rflags));
260 CONV_EXPN_FIELD_STATE state;
263 if (cef_setup(arg, fmt_flags, &state) == FALSE)
275 if (!cef_cp(arg, &state, TRUE,
284 return (cef_wrap(arg, fmt_flags, &state, rflags));