summaryrefslogtreecommitdiff
path: root/libio/wgenops.c
diff options
context:
space:
mode:
Diffstat (limited to 'libio/wgenops.c')
-rw-r--r--libio/wgenops.c104
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)