summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdio/clrerr.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2008-05-02 15:25:07 +0000
committerjhb <jhb@FreeBSD.org>2008-05-02 15:25:07 +0000
commit809ddff4fd01ab65b99be2f04070d17450509b93 (patch)
tree5e0b10db872b1b2fe5276fd887529303487c71d3 /lib/libc/stdio/clrerr.c
parentc57ec28c3faf101e34d2075c9380ee2044a07a54 (diff)
downloadFreeBSD-src-809ddff4fd01ab65b99be2f04070d17450509b93.zip
FreeBSD-src-809ddff4fd01ab65b99be2f04070d17450509b93.tar.gz
Next round of stdio changes: Remove all inlining of stdio operations and
move the definition of the type backing FILE (struct __sFILE) into an internal header. - Remove macros to inline certain operations from stdio.h. Applications will now always call the functions instead. - Move the various foo_unlocked() functions from unlocked.c into foo.c. This lets some of the inlining macros (e.g. __sfeof()) move into foo.c. - Update a few comments. - struct __sFILE can now go back to using mbstate_t, pthread_t, and pthread_mutex_t instead of knowing about their private, backing types. MFC after: 1 month Reviewed by: kan
Diffstat (limited to 'lib/libc/stdio/clrerr.c')
-rw-r--r--lib/libc/stdio/clrerr.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/libc/stdio/clrerr.c b/lib/libc/stdio/clrerr.c
index 8d924b3..bae0b72 100644
--- a/lib/libc/stdio/clrerr.c
+++ b/lib/libc/stdio/clrerr.c
@@ -39,8 +39,10 @@ __FBSDID("$FreeBSD$");
#include "namespace.h"
#include <stdio.h>
#include "un-namespace.h"
+#include "local.h"
#include "libc_private.h"
-#undef clearerr
+
+#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
void
clearerr(fp)
@@ -50,3 +52,10 @@ clearerr(fp)
__sclearerr(fp);
FUNLOCKFILE(fp);
}
+
+void
+clearerr_unlocked(FILE *fp)
+{
+
+ __sclearerr(fp);
+}
OpenPOWER on IntegriCloud