xref: /haiku/src/system/libroot/posix/stdio/__freading.cpp (revision 16d5c24e533eb14b7b8a99ee9f3ec9ba66335b1e)
1 /*
2  * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Distributed under the terms of the MIT License.
4  */
5 
6 #include <libio.h>
7 #include <stdio_ext.h>
8 
9 
10 int
11 __freading(FILE* stream)
12 {
13 	// Return true, if writing is not allowed or the last operation was a read.
14 	return (stream->_flags & _IO_NO_WRITES) != 0
15 		|| ((stream->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
16 			&& stream->_IO_read_base != NULL);
17 }
18