Lines Matching refs:rc

189 static int eap_fast_read_line(struct eap_fast_read_ctx *rc, char **value)
193 rc->line++;
194 if (rc->f) {
195 if (fgets(rc->buf, rc->buf_len, rc->f) == NULL)
200 if (rc->pos >= rc->end)
202 l_end = rc->pos;
203 while (l_end < rc->end && *l_end != '\n')
205 len = l_end - rc->pos;
206 if (len >= rc->buf_len)
207 len = rc->buf_len - 1;
208 os_memcpy(rc->buf, rc->pos, len);
209 rc->buf[len] = '\0';
210 rc->pos = l_end + 1;
213 rc->buf[rc->buf_len - 1] = '\0';
214 pos = rc->buf;
223 pos = os_strchr(rc->buf, '=');
255 struct eap_fast_read_ctx *rc)
257 os_memset(rc, 0, sizeof(*rc));
259 rc->buf_len = 2048;
260 rc->buf = os_malloc(rc->buf_len);
261 if (rc->buf == NULL)
271 os_free(rc->buf);
274 rc->pos = (char *) blob->data;
275 rc->end = (char *) blob->data + blob->len;
277 rc->f = fopen(pac_file, "rb");
278 if (rc->f == NULL) {
282 os_free(rc->buf);
291 static void eap_fast_deinit_pac_data(struct eap_fast_read_ctx *rc)
293 os_free(rc->buf);
294 if (rc->f)
295 fclose(rc->f);
413 struct eap_fast_read_ctx rc;
422 if (eap_fast_init_pac_data(sm, pac_file, &rc) < 0)
425 if (eap_fast_read_line(&rc, &pos) < 0) {
427 eap_fast_deinit_pac_data(&rc);
430 if (os_strcmp(pac_file_hdr, rc.buf) != 0)
433 while (!err && eap_fast_read_line(&rc, &pos) == 0) {
434 if (os_strcmp(rc.buf, "START") == 0)
436 else if (os_strcmp(rc.buf, "END") == 0) {
441 else if (os_strcmp(rc.buf, "PAC-Type") == 0)
443 else if (os_strcmp(rc.buf, "PAC-Key") == 0)
445 else if (os_strcmp(rc.buf, "PAC-Opaque") == 0)
447 else if (os_strcmp(rc.buf, "A-ID") == 0)
449 else if (os_strcmp(rc.buf, "I-ID") == 0)
451 else if (os_strcmp(rc.buf, "A-ID-Info") == 0)
460 eap_fast_deinit_pac_data(&rc);
464 err, pac_file, rc.line);