Lines Matching refs:fp

45 static int save_for_wbackup __P ((_IO_FILE *fp, wchar_t *end_p))
53 _IO_ssize_t _IO_least_wmarker __P ((_IO_FILE *fp, wchar_t *end_p));
56 _IO_least_wmarker (fp, end_p)
57 _IO_FILE *fp;
60 _IO_ssize_t least_so_far = end_p - fp->_wide_data->_IO_read_base;
62 for (mark = fp->_markers; mark != NULL; mark = mark->_next)
71 _IO_switch_to_main_wget_area (fp)
72 _IO_FILE *fp;
75 fp->_flags &= ~_IO_IN_BACKUP;
77 tmp = fp->_wide_data->_IO_read_end;
78 fp->_wide_data->_IO_read_end = fp->_wide_data->_IO_save_end;
79 fp->_wide_data->_IO_save_end= tmp;
81 tmp = fp->_wide_data->_IO_read_base;
82 fp->_wide_data->_IO_read_base = fp->_wide_data->_IO_save_base;
83 fp->_wide_data->_IO_save_base = tmp;
85 fp->_wide_data->_IO_read_ptr = fp->_wide_data->_IO_read_base;
92 _IO_switch_to_wbackup_area (fp)
93 _IO_FILE *fp;
96 fp->_flags |= _IO_IN_BACKUP;
98 tmp = fp->_wide_data->_IO_read_end;
99 fp->_wide_data->_IO_read_end = fp->_wide_data->_IO_save_end;
100 fp->_wide_data->_IO_save_end = tmp;
102 tmp = fp->_wide_data->_IO_read_base;
103 fp->_wide_data->_IO_read_base = fp->_wide_data->_IO_save_base;
104 fp->_wide_data->_IO_save_base = tmp;
106 fp->_wide_data->_IO_read_ptr = fp->_wide_data->_IO_read_end;
131 _IO_wdefault_pbackfail (fp, c)
132 _IO_FILE *fp;
135 if (fp->_wide_data->_IO_read_ptr > fp->_wide_data->_IO_read_base
136 && !_IO_in_backup (fp)
137 && (wint_t) fp->_IO_read_ptr[-1] == c)
138 --fp->_IO_read_ptr;
142 if (!_IO_in_backup (fp))
146 if (fp->_wide_data->_IO_read_ptr > fp->_wide_data->_IO_read_base
147 && _IO_have_wbackup (fp))
149 if (save_for_wbackup (fp, fp->_wide_data->_IO_read_ptr))
152 else if (!_IO_have_wbackup (fp))
161 fp->_wide_data->_IO_save_base = bbuf;
162 fp->_wide_data->_IO_save_end = (fp->_wide_data->_IO_save_base
164 fp->_wide_data->_IO_backup_base = fp->_wide_data->_IO_save_end;
166 fp->_wide_data->_IO_read_base = fp->_wide_data->_IO_read_ptr;
167 INTUSE(_IO_switch_to_wbackup_area) (fp);
169 else if (fp->_wide_data->_IO_read_ptr <= fp->_wide_data->_IO_read_base)
173 _IO_size_t old_size = (fp->_wide_data->_IO_read_end
174 - fp->_wide_data->_IO_read_base);
181 fp->_wide_data->_IO_read_base, old_size);
182 free (fp->_wide_data->_IO_read_base);
183 _IO_wsetg (fp, new_buf, new_buf + (new_size - old_size),
185 fp->_wide_data->_IO_backup_base = fp->_wide_data->_IO_read_ptr;
188 *--fp->_wide_data->_IO_read_ptr = c;
196 _IO_wdefault_finish (fp, dummy)
197 _IO_FILE *fp;
201 if (fp->_wide_data->_IO_buf_base && !(fp->_flags2 & _IO_FLAGS2_USER_WBUF))
203 FREE_BUF (fp->_wide_data->_IO_buf_base,
204 _IO_wblen (fp) * sizeof (wchar_t));
205 fp->_wide_data->_IO_buf_base = fp->_wide_data->_IO_buf_end = NULL;
208 for (mark = fp->_markers; mark != NULL; mark = mark->_next)
211 if (fp->_IO_save_base)
213 free (fp->_wide_data->_IO_save_base);
214 fp->_IO_save_base = NULL;
218 if (fp->_lock != NULL)
219 _IO_lock_fini (*fp->_lock);
222 INTUSE(_IO_un_link) ((struct _IO_FILE_plus *) fp);
228 _IO_wdefault_uflow (fp)
229 _IO_FILE *fp;
232 wch = _IO_UNDERFLOW (fp);
235 return *fp->_wide_data->_IO_read_ptr++;
253 __wuflow (fp)
254 _IO_FILE *fp;
256 if (fp->_mode < 0 || (fp->_mode == 0 && _IO_fwide (fp, 1) != 1))
259 if (fp->_mode == 0)
260 _IO_fwide (fp, 1);
261 if (_IO_in_put_mode (fp))
262 if (INTUSE(_IO_switch_to_wget_mode) (fp) == EOF)
264 if (fp->_wide_data->_IO_read_ptr < fp->_wide_data->_IO_read_end)
265 return *fp->_wide_data->_IO_read_ptr++;
266 if (_IO_in_backup (fp))
268 INTUSE(_IO_switch_to_main_wget_area) (fp);
269 if (fp->_wide_data->_IO_read_ptr < fp->_wide_data->_IO_read_end)
270 return *fp->_wide_data->_IO_read_ptr++;
272 if (_IO_have_markers (fp))
274 if (save_for_wbackup (fp, fp->_wide_data->_IO_read_end))
277 else if (_IO_have_wbackup (fp))
278 INTUSE(_IO_free_wbackup_area) (fp);
279 return _IO_UFLOW (fp);
284 __wunderflow (fp)
285 _IO_FILE *fp;
287 if (fp->_mode < 0 || (fp->_mode == 0 && _IO_fwide (fp, 1) != 1))
290 if (fp->_mode == 0)
291 _IO_fwide (fp, 1);
292 if (_IO_in_put_mode (fp))
293 if (INTUSE(_IO_switch_to_wget_mode) (fp) == EOF)
295 if (fp->_wide_data->_IO_read_ptr < fp->_wide_data->_IO_read_end)
296 return *fp->_wide_data->_IO_read_ptr;
297 if (_IO_in_backup (fp))
299 INTUSE(_IO_switch_to_main_wget_area) (fp);
300 if (fp->_wide_data->_IO_read_ptr < fp->_wide_data->_IO_read_end)
301 return *fp->_wide_data->_IO_read_ptr;
303 if (_IO_have_markers (fp))
305 if (save_for_wbackup (fp, fp->_wide_data->_IO_read_end))
308 else if (_IO_have_backup (fp))
309 INTUSE(_IO_free_wbackup_area) (fp);
310 return _IO_UNDERFLOW (fp);
367 _IO_wdefault_xsgetn (fp, data, n)
368 _IO_FILE *fp;
377 _IO_ssize_t count = (fp->_wide_data->_IO_read_end
378 - fp->_wide_data->_IO_read_ptr);
386 s = __wmempcpy (s, fp->_wide_data->_IO_read_ptr, count);
388 memcpy (s, fp->_wide_data->_IO_read_ptr, count);
391 fp->_wide_data->_IO_read_ptr += count;
397 wchar_t *p = fp->_wide_data->_IO_read_ptr;
401 fp->_wide_data->_IO_read_ptr = p;
405 if (more == 0 || __wunderflow (fp) == WEOF)
414 _IO_wdoallocbuf (fp)
415 _IO_FILE *fp;
417 if (fp->_wide_data->_IO_buf_base)
419 if (!(fp->_flags & _IO_UNBUFFERED))
420 if ((wint_t)_IO_WDOALLOCATE (fp) != WEOF)
422 INTUSE(_IO_wsetb) (fp, fp->_wide_data->_shortbuf,
423 fp->_wide_data->_shortbuf + 1, 0);
429 _IO_wdefault_doallocate (fp)
430 _IO_FILE *fp;
435 INTUSE(_IO_wsetb) (fp, buf, buf + _IO_BUFSIZ, 1);
442 _IO_switch_to_wget_mode (fp)
443 _IO_FILE *fp;
445 if (fp->_wide_data->_IO_write_ptr > fp->_wide_data->_IO_write_base)
446 if ((wint_t)_IO_WOVERFLOW (fp, WEOF) == WEOF)
448 if (_IO_in_backup (fp))
449 fp->_wide_data->_IO_read_base = fp->_wide_data->_IO_backup_base;
452 fp->_wide_data->_IO_read_base = fp->_wide_data->_IO_buf_base;
453 if (fp->_wide_data->_IO_write_ptr > fp->_wide_data->_IO_read_end)
454 fp->_wide_data->_IO_read_end = fp->_wide_data->_IO_write_ptr;
456 fp->_wide_data->_IO_read_ptr = fp->_wide_data->_IO_write_ptr;
458 fp->_wide_data->_IO_write_base = fp->_wide_data->_IO_write_ptr
459 = fp->_wide_data->_IO_write_end = fp->_wide_data->_IO_read_ptr;
461 fp->_flags &= ~_IO_CURRENTLY_PUTTING;
467 _IO_free_wbackup_area (fp)
468 _IO_FILE *fp;
470 if (_IO_in_backup (fp))
471 INTUSE(_IO_switch_to_main_wget_area) (fp); /* Just in case. */
472 free (fp->_wide_data->_IO_save_base);
473 fp->_wide_data->_IO_save_base = NULL;
474 fp->_wide_data->_IO_save_end = NULL;
475 fp->_wide_data->_IO_backup_base = NULL;
481 _IO_switch_to_wput_mode (fp)
482 _IO_FILE *fp;
484 fp->_wide_data->_IO_write_base = fp->_wide_data->_IO_read_ptr;
485 fp->_wide_data->_IO_write_ptr = fp->_wide_data->_IO_read_ptr;
487 fp->_wide_data->_IO_write_end = (fp->_flags & _IO_IN_BACKUP
488 ? fp->_wide_data->_IO_read_end
489 : fp->_wide_data->_IO_buf_end);
491 fp->_wide_data->_IO_read_ptr = fp->_wide_data->_IO_read_end;
492 fp->_wide_data->_IO_read_base = fp->_wide_data->_IO_read_end;
494 fp->_flags |= _IO_CURRENTLY_PUTTING;
504 save_for_wbackup (fp, end_p)
505 _IO_FILE *fp;
509 _IO_ssize_t least_mark = INTUSE(_IO_least_wmarker) (fp, end_p);
511 _IO_size_t needed_size = ((end_p - fp->_wide_data->_IO_read_base)
514 _IO_size_t current_Bsize = (fp->_wide_data->_IO_save_end
515 - fp->_wide_data->_IO_save_base);
531 fp->_wide_data->_IO_save_end + least_mark,
533 fp->_wide_data->_IO_read_base,
534 end_p - fp->_wide_data->_IO_read_base);
537 fp->_wide_data->_IO_save_end + least_mark,
540 fp->_wide_data->_IO_read_base,
541 (end_p - fp->_wide_data->_IO_read_base) * sizeof (wchar_t));
548 fp->_wide_data->_IO_read_base + least_mark,
552 fp->_wide_data->_IO_read_base + least_mark,
556 if (fp->_wide_data->_IO_save_base)
557 free (fp->_wide_data->_IO_save_base);
558 fp->_wide_data->_IO_save_base = new_buffer;
559 fp->_wide_data->_IO_save_end = new_buffer + avail + needed_size;
567 __wmemmove (fp->_wide_data->_IO_save_base + avail,
568 fp->_wide_data->_IO_save_end + least_mark,
570 __wmemcpy (fp->_wide_data->_IO_save_base + avail - least_mark,
571 fp->_wide_data->_IO_read_base,
572 end_p - fp->_wide_data->_IO_read_base);
574 memmove (fp->_wide_data->_IO_save_base + avail,
575 fp->_wide_data->_IO_save_end + least_mark,
577 memcpy (fp->_wide_data->_IO_save_base + avail - least_mark,
578 fp->_wide_data->_IO_read_base,
579 (end_p - fp->_wide_data->_IO_read_base) * sizeof (wchar_t));
584 __wmemcpy (fp->_wide_data->_IO_save_base + avail,
585 fp->_wide_data->_IO_read_base + least_mark,
588 memcpy (fp->_wide_data->_IO_save_base + avail,
589 fp->_wide_data->_IO_read_base + least_mark,
593 fp->_wide_data->_IO_backup_base = fp->_wide_data->_IO_save_base + avail;
595 delta = end_p - fp->_wide_data->_IO_read_base;
596 for (mark = fp->_markers; mark != NULL; mark = mark->_next)
602 _IO_sputbackwc (fp, c)
603 _IO_FILE *fp;
608 if (fp->_wide_data->_IO_read_ptr > fp->_wide_data->_IO_read_base
609 && (wchar_t)fp->_wide_data->_IO_read_ptr[-1] == (wchar_t) c)
611 fp->_wide_data->_IO_read_ptr--;
615 result = _IO_PBACKFAIL (fp, c);
618 fp->_flags &= ~_IO_EOF_SEEN;
625 _IO_sungetwc (fp)
626 _IO_FILE *fp;
630 if (fp->_wide_data->_IO_read_ptr > fp->_wide_data->_IO_read_base)
632 fp->_wide_data->_IO_read_ptr--;
633 result = *fp->_wide_data->_IO_read_ptr;
636 result = _IO_PBACKFAIL (fp, EOF);
639 fp->_flags &= ~_IO_EOF_SEEN;
659 _IO_init_wmarker (marker, fp)
661 _IO_FILE *fp;
663 marker->_sbuf = fp;
664 if (_IO_in_put_mode (fp))
665 INTUSE(_IO_switch_to_wget_mode) (fp);
666 if (_IO_in_backup (fp))
667 marker->_pos = fp->_wide_data->_IO_read_ptr - fp->_wide_data->_IO_read_end;
669 marker->_pos = (fp->_wide_data->_IO_read_ptr
670 - fp->_wide_data->_IO_read_base);
673 marker->_next = fp->_markers;
674 fp->_markers = marker;
697 _IO_seekwmark (fp, mark, delta)
698 _IO_FILE *fp;
702 if (mark->_sbuf != fp)
706 if (_IO_in_backup (fp))
707 INTUSE(_IO_switch_to_main_wget_area) (fp);
708 fp->_wide_data->_IO_read_ptr = (fp->_wide_data->_IO_read_base
713 if (!_IO_in_backup (fp))
714 INTUSE(_IO_switch_to_wbackup_area) (fp);
715 fp->_wide_data->_IO_read_ptr = fp->_wide_data->_IO_read_end + mark->_pos;
721 _IO_unsave_wmarkers (fp)
722 _IO_FILE *fp;
724 struct _IO_marker *mark = fp->_markers;
741 fp->_markers = 0;
744 if (_IO_have_backup (fp))
745 INTUSE(_IO_free_wbackup_area) (fp);