summaryrefslogtreecommitdiff
path: root/src/common/compat.h
diff options
context:
space:
mode:
authorAlexander Færøy <ahf@torproject.org>2017-02-27 15:37:31 +0100
committerAlexander Færøy <ahf@torproject.org>2017-03-01 21:26:26 +0100
commit498287b3c340739bede9a3fa95ea23b6ae650bf3 (patch)
tree1cab67defeabceb27fe22c40cdb94c95e901bc7a /src/common/compat.h
parenta0a4f8ae5d94a667ad431e487e08bc935a6989b5 (diff)
downloadtor-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.h2
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"