diff options
author | Alexander Færøy <ahf@torproject.org> | 2017-02-27 15:37:31 +0100 |
---|---|---|
committer | Alexander Færøy <ahf@torproject.org> | 2017-03-01 21:26:26 +0100 |
commit | 498287b3c340739bede9a3fa95ea23b6ae650bf3 (patch) | |
tree | 1cab67defeabceb27fe22c40cdb94c95e901bc7a /src/common/compat.h | |
parent | a0a4f8ae5d94a667ad431e487e08bc935a6989b5 (diff) | |
download | tor-498287b3c340739bede9a3fa95ea23b6ae650bf3.tar.gz tor-498287b3c340739bede9a3fa95ea23b6ae650bf3.zip |
Add compatibility function for fgets(3).
This patch adds the `tor_fgets()` function to our compatibility layer.
`tor_fgets()` adds an additional check for whether the error-bit have
been enabled for the given file stream, if that is the case and `errno`
is set to `EAGAIN` we make sure that we always return NULL.
Unfortunately `fgets(3)` behaves differently on different versions of
the C library.
See: https://bugs.torproject.org/21416
See: https://bugs.torproject.org/20988
Diffstat (limited to 'src/common/compat.h')
-rw-r--r-- | src/common/compat.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/common/compat.h b/src/common/compat.h index ee1c9454de..1f51ece61f 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -740,6 +740,8 @@ STATIC int tor_ersatz_socketpair(int family, int type, int protocol, ssize_t tor_getpass(const char *prompt, char *output, size_t buflen); +char *tor_fgets(char *str, int size, FILE *stream); + /* This needs some of the declarations above so we include it here. */ #include "compat_threads.h" |