1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 07:27:45 +00:00

LibC: Implement __freadptrinc

This commit is contained in:
Tim Schumacher 2021-11-07 17:26:50 +01:00 committed by Andreas Kling
parent 89ed0649f7
commit 4f706d819a
3 changed files with 16 additions and 0 deletions

View file

@ -62,6 +62,7 @@ public:
void reopen(int fd, int mode);
u8 const* readptr(size_t& available_size);
void readptr_increase(size_t increment);
enum Flags : u8 {
None = 0,

View file

@ -374,6 +374,11 @@ u8 const* FILE::readptr(size_t& available_size)
return m_buffer.begin_dequeue(available_size);
}
void FILE::readptr_increase(size_t increment)
{
m_buffer.did_dequeue(increment);
}
FILE::Buffer::~Buffer()
{
if (m_data_is_malloced)
@ -1355,6 +1360,15 @@ char const* __freadptr(FILE* stream, size_t* sizep)
*sizep = available_size;
return reinterpret_cast<char const*>(ptr);
}
void __freadptrinc(FILE* stream, size_t increment)
{
VERIFY(stream);
ScopedFileLock lock(stream);
stream->readptr_increase(increment);
}
}
template bool FILE::gets<u8>(u8*, size_t);

View file

@ -17,5 +17,6 @@ void __fpurge(FILE*);
size_t __freadahead(FILE*);
char const* __freadptr(FILE*, size_t*);
void __freadptrinc(FILE*, size_t);
__END_DECLS