diff options
Diffstat (limited to 'libio/wgenops.c')
-rw-r--r-- | libio/wgenops.c | 104 |
1 files changed, 31 insertions, 73 deletions
diff --git a/libio/wgenops.c b/libio/wgenops.c index 69f3b95896..9f524aaf2d 100644 --- a/libio/wgenops.c +++ b/libio/wgenops.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2015 Free Software Foundation, Inc. +/* Copyright (C) 1993-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Ulrich Drepper <drepper@cygnus.com>. Based on the single byte version by Per Bothner <bothner@cygnus.com>. @@ -48,9 +48,7 @@ static int save_for_wbackup (_IO_FILE *fp, wchar_t *end_p) __THROW /* Return minimum _pos markers Assumes the current get area is the main get area. */ _IO_ssize_t -_IO_least_wmarker (fp, end_p) - _IO_FILE *fp; - wchar_t *end_p; +_IO_least_wmarker (_IO_FILE *fp, wchar_t *end_p) { _IO_ssize_t least_so_far = end_p - fp->_wide_data->_IO_read_base; struct _IO_marker *mark; @@ -63,8 +61,7 @@ libc_hidden_def (_IO_least_wmarker) /* Switch current get area from backup buffer to (start of) main get area. */ void -_IO_switch_to_main_wget_area (fp) - _IO_FILE *fp; +_IO_switch_to_main_wget_area (_IO_FILE *fp) { wchar_t *tmp; fp->_flags &= ~_IO_IN_BACKUP; @@ -84,8 +81,7 @@ libc_hidden_def (_IO_switch_to_main_wget_area) /* Switch current get area from main get area to (end of) backup area. */ void -_IO_switch_to_wbackup_area (fp) - _IO_FILE *fp; +_IO_switch_to_wbackup_area (_IO_FILE *fp) { wchar_t *tmp; fp->_flags |= _IO_IN_BACKUP; @@ -104,14 +100,10 @@ libc_hidden_def (_IO_switch_to_wbackup_area) void -_IO_wsetb (f, b, eb, a) - _IO_FILE *f; - wchar_t *b; - wchar_t *eb; - int a; +_IO_wsetb (_IO_FILE *f, wchar_t *b, wchar_t *eb, int a) { if (f->_wide_data->_IO_buf_base && !(f->_flags2 & _IO_FLAGS2_USER_WBUF)) - FREE_BUF (f->_wide_data->_IO_buf_base, _IO_wblen (f) * sizeof (wchar_t)); + free (f->_wide_data->_IO_buf_base); f->_wide_data->_IO_buf_base = b; f->_wide_data->_IO_buf_end = eb; if (a) @@ -123,9 +115,7 @@ libc_hidden_def (_IO_wsetb) wint_t -_IO_wdefault_pbackfail (fp, c) - _IO_FILE *fp; - wint_t c; +_IO_wdefault_pbackfail (_IO_FILE *fp, wint_t c) { if (fp->_wide_data->_IO_read_ptr > fp->_wide_data->_IO_read_base && !_IO_in_backup (fp) @@ -188,15 +178,12 @@ libc_hidden_def (_IO_wdefault_pbackfail) void -_IO_wdefault_finish (fp, dummy) - _IO_FILE *fp; - int dummy; +_IO_wdefault_finish (_IO_FILE *fp, int dummy) { struct _IO_marker *mark; if (fp->_wide_data->_IO_buf_base && !(fp->_flags2 & _IO_FLAGS2_USER_WBUF)) { - FREE_BUF (fp->_wide_data->_IO_buf_base, - _IO_wblen (fp) * sizeof (wchar_t)); + free (fp->_wide_data->_IO_buf_base); fp->_wide_data->_IO_buf_base = fp->_wide_data->_IO_buf_end = NULL; } @@ -220,8 +207,7 @@ libc_hidden_def (_IO_wdefault_finish) wint_t -_IO_wdefault_uflow (fp) - _IO_FILE *fp; +_IO_wdefault_uflow (_IO_FILE *fp) { wint_t wch; wch = _IO_UNDERFLOW (fp); @@ -233,9 +219,7 @@ libc_hidden_def (_IO_wdefault_uflow) wint_t -__woverflow (f, wch) - _IO_FILE *f; - wint_t wch; +__woverflow (_IO_FILE *f, wint_t wch) { if (f->_mode == 0) _IO_fwide (f, 1); @@ -245,8 +229,7 @@ libc_hidden_def (__woverflow) wint_t -__wuflow (fp) - _IO_FILE *fp; +__wuflow (_IO_FILE *fp) { if (fp->_mode < 0 || (fp->_mode == 0 && _IO_fwide (fp, 1) != 1)) return WEOF; @@ -276,8 +259,7 @@ __wuflow (fp) libc_hidden_def (__wuflow) wint_t -__wunderflow (fp) - _IO_FILE *fp; +__wunderflow (_IO_FILE *fp) { if (fp->_mode < 0 || (fp->_mode == 0 && _IO_fwide (fp, 1) != 1)) return WEOF; @@ -308,10 +290,7 @@ libc_hidden_def (__wunderflow) _IO_size_t -_IO_wdefault_xsputn (f, data, n) - _IO_FILE *f; - const void *data; - _IO_size_t n; +_IO_wdefault_xsputn (_IO_FILE *f, const void *data, _IO_size_t n) { const wchar_t *s = (const wchar_t *) data; _IO_size_t more = n; @@ -359,10 +338,7 @@ libc_hidden_def (_IO_wdefault_xsputn) _IO_size_t -_IO_wdefault_xsgetn (fp, data, n) - _IO_FILE *fp; - void *data; - _IO_size_t n; +_IO_wdefault_xsgetn (_IO_FILE *fp, void *data, _IO_size_t n) { _IO_size_t more = n; wchar_t *s = (wchar_t*) data; @@ -406,8 +382,7 @@ libc_hidden_def (_IO_wdefault_xsgetn) void -_IO_wdoallocbuf (fp) - _IO_FILE *fp; +_IO_wdoallocbuf (_IO_FILE *fp) { if (fp->_wide_data->_IO_buf_base) return; @@ -421,12 +396,13 @@ libc_hidden_def (_IO_wdoallocbuf) int -_IO_wdefault_doallocate (fp) - _IO_FILE *fp; +_IO_wdefault_doallocate (_IO_FILE *fp) { wchar_t *buf; - ALLOC_WBUF (buf, _IO_BUFSIZ, EOF); + buf = malloc (_IO_BUFSIZ); + if (__glibc_unlikely (buf == NULL)) + return EOF; _IO_wsetb (fp, buf, buf + _IO_BUFSIZ, 1); return 1; } @@ -434,8 +410,7 @@ libc_hidden_def (_IO_wdefault_doallocate) int -_IO_switch_to_wget_mode (fp) - _IO_FILE *fp; +_IO_switch_to_wget_mode (_IO_FILE *fp) { if (fp->_wide_data->_IO_write_ptr > fp->_wide_data->_IO_write_base) if ((wint_t)_IO_WOVERFLOW (fp, WEOF) == WEOF) @@ -459,8 +434,7 @@ _IO_switch_to_wget_mode (fp) libc_hidden_def (_IO_switch_to_wget_mode) void -_IO_free_wbackup_area (fp) - _IO_FILE *fp; +_IO_free_wbackup_area (_IO_FILE *fp) { if (_IO_in_backup (fp)) _IO_switch_to_main_wget_area (fp); /* Just in case. */ @@ -473,8 +447,7 @@ libc_hidden_def (_IO_free_wbackup_area) #if 0 int -_IO_switch_to_wput_mode (fp) - _IO_FILE *fp; +_IO_switch_to_wput_mode (_IO_FILE *fp) { fp->_wide_data->_IO_write_base = fp->_wide_data->_IO_read_ptr; fp->_wide_data->_IO_write_ptr = fp->_wide_data->_IO_read_ptr; @@ -496,9 +469,7 @@ static int #ifdef _LIBC internal_function #endif -save_for_wbackup (fp, end_p) - _IO_FILE *fp; - wchar_t *end_p; +save_for_wbackup (_IO_FILE *fp, wchar_t *end_p) { /* Append [_IO_read_base..end_p] to backup area. */ _IO_ssize_t least_mark = _IO_least_wmarker (fp, end_p); @@ -593,9 +564,7 @@ save_for_wbackup (fp, end_p) } wint_t -_IO_sputbackwc (fp, c) - _IO_FILE *fp; - wint_t c; +_IO_sputbackwc (_IO_FILE *fp, wint_t c) { wint_t result; @@ -616,8 +585,7 @@ _IO_sputbackwc (fp, c) libc_hidden_def (_IO_sputbackwc) wint_t -_IO_sungetwc (fp) - _IO_FILE *fp; +_IO_sungetwc (_IO_FILE *fp) { wint_t result; @@ -637,10 +605,7 @@ _IO_sungetwc (fp) unsigned -_IO_adjust_wcolumn (start, line, count) - unsigned start; - const wchar_t *line; - int count; +_IO_adjust_wcolumn (unsigned start, const wchar_t *line, int count) { const wchar_t *ptr = line + count; while (ptr > line) @@ -650,9 +615,7 @@ _IO_adjust_wcolumn (start, line, count) } void -_IO_init_wmarker (marker, fp) - struct _IO_marker *marker; - _IO_FILE *fp; +_IO_init_wmarker (struct _IO_marker *marker, _IO_FILE *fp) { marker->_sbuf = fp; if (_IO_in_put_mode (fp)) @@ -672,8 +635,7 @@ _IO_init_wmarker (marker, fp) /* Return difference between MARK and current position of MARK's stream. */ int -_IO_wmarker_delta (mark) - struct _IO_marker *mark; +_IO_wmarker_delta (struct _IO_marker *mark) { int cur_pos; if (mark->_sbuf == NULL) @@ -688,10 +650,7 @@ _IO_wmarker_delta (mark) } int -_IO_seekwmark (fp, mark, delta) - _IO_FILE *fp; - struct _IO_marker *mark; - int delta; +_IO_seekwmark (_IO_FILE *fp, struct _IO_marker *mark, int delta) { if (mark->_sbuf != fp) return EOF; @@ -712,8 +671,7 @@ _IO_seekwmark (fp, mark, delta) } void -_IO_unsave_wmarkers (fp) - _IO_FILE *fp; +_IO_unsave_wmarkers (_IO_FILE *fp) { struct _IO_marker *mark = fp->_markers; if (mark) |