From 3237efc661a2304eef12a86c2f581a26c1c440c2 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Wed, 26 May 2021 12:34:05 +0200 Subject: [PATCH] LibC: Implement __fseterr --- Userland/Libraries/LibC/bits/stdio_file_implementation.h | 1 + Userland/Libraries/LibC/stdio.cpp | 6 ++++++ Userland/Libraries/LibC/stdio_ext.h | 1 + 3 files changed, 8 insertions(+) diff --git a/Userland/Libraries/LibC/bits/stdio_file_implementation.h b/Userland/Libraries/LibC/bits/stdio_file_implementation.h index cdccefdf206e9e..1b2d72a0645d8e 100644 --- a/Userland/Libraries/LibC/bits/stdio_file_implementation.h +++ b/Userland/Libraries/LibC/bits/stdio_file_implementation.h @@ -44,6 +44,7 @@ struct FILE { int error() const { return m_error; } void clear_err() { m_error = 0; } + void set_err() { m_error = 1; } size_t read(u8*, size_t); size_t write(u8 const*, size_t); diff --git a/Userland/Libraries/LibC/stdio.cpp b/Userland/Libraries/LibC/stdio.cpp index e7306f9008fb93..dd265a22755c96 100644 --- a/Userland/Libraries/LibC/stdio.cpp +++ b/Userland/Libraries/LibC/stdio.cpp @@ -1369,6 +1369,12 @@ void __freadptrinc(FILE* stream, size_t increment) stream->readptr_increase(increment); } + +void __fseterr(FILE* stream) +{ + ScopedFileLock lock(stream); + stream->set_err(); +} } template bool FILE::gets(u8*, size_t); diff --git a/Userland/Libraries/LibC/stdio_ext.h b/Userland/Libraries/LibC/stdio_ext.h index 9966f2262f7b53..b03b3dbec40c1c 100644 --- a/Userland/Libraries/LibC/stdio_ext.h +++ b/Userland/Libraries/LibC/stdio_ext.h @@ -18,5 +18,6 @@ void __fpurge(FILE*); size_t __freadahead(FILE*); char const* __freadptr(FILE*, size_t*); void __freadptrinc(FILE*, size_t); +void __fseterr(FILE*); __END_DECLS