summaryrefslogtreecommitdiff
path: root/libio/ioungetc.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-12-27 15:41:39 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-12-27 15:41:39 +0000
commit16c9ca827cd735002dec5689f93f22fc358d6f56 (patch)
treefbfaa8e020a3a762a96c4f219d4150e369e00099 /libio/ioungetc.c
parentdaa262720d3dc357a298b18a359551994082c9b3 (diff)
parent963c37d5c0eb62b38f8764b23931c0dcdd497a13 (diff)
Merge commit 'refs/top-bases/t/bits_atomic.h_multiple_threads' into t/bits_atomic.h_multiple_threadst/bits_atomic.h_multiple_threads
Diffstat (limited to 'libio/ioungetc.c')
-rw-r--r--libio/ioungetc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libio/ioungetc.c b/libio/ioungetc.c
index 093af744b4..59ebb06177 100644
--- a/libio/ioungetc.c
+++ b/libio/ioungetc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,18 +27,18 @@
#include "libioP.h"
int
-_IO_ungetc (int c, _IO_FILE *fp)
+_IO_ungetc (int c, FILE *fp)
{
int result;
CHECK_FILE (fp, EOF);
if (c == EOF)
return EOF;
+ if (!_IO_need_lock (fp))
+ return _IO_sputbackc (fp, (unsigned char) c);
_IO_acquire_lock (fp);
result = _IO_sputbackc (fp, (unsigned char) c);
_IO_release_lock (fp);
return result;
}
-#ifdef weak_alias
weak_alias (_IO_ungetc, ungetc)
-#endif