aboutsummaryrefslogtreecommitdiff
path: root/support/xstdio.h
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-04-02 17:09:36 +0200
committerFlorian Weimer <fweimer@redhat.com>2020-04-03 16:26:10 +0200
commitcea56af185eae45b1f0963351e3d4daa1cbde521 (patch)
tree2fca166caab3aaf9ce9f07bb719d0546cff3e4d2 /support/xstdio.h
parent17fd707f88c5531972c980a4f4567ba6c7f84067 (diff)
downloadglibc-cea56af185eae45b1f0963351e3d4daa1cbde521.zip
glibc-cea56af185eae45b1f0963351e3d4daa1cbde521.tar.gz
glibc-cea56af185eae45b1f0963351e3d4daa1cbde521.tar.bz2
support: Change xgetline to return 0 on EOF
The advantage is that the buffer will always contain the number of characters as returned from the function, which allows one to use a sequence like /* No more audit module output. */ line_length = xgetline (&buffer, &buffer_length, fp); TEST_COMPARE_BLOB ("", 0, buffer, line_length); to check for an expected EOF, while also reporting any unexpected extra data encountered. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'support/xstdio.h')
-rw-r--r--support/xstdio.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/support/xstdio.h b/support/xstdio.h
index 143957b..807c3af 100644
--- a/support/xstdio.h
+++ b/support/xstdio.h
@@ -27,7 +27,10 @@ __BEGIN_DECLS
FILE *xfopen (const char *path, const char *mode);
void xfclose (FILE *);
-ssize_t xgetline (char **lineptr, size_t *n, FILE *stream);
+/* Read a line from FP, using getline. *BUFFER must be NULL, or a
+ heap-allocated pointer of *LENGTH bytes. Return the number of
+ bytes in the line if a line was read, or 0 on EOF. */
+size_t xgetline (char **lineptr, size_t *n, FILE *stream);
__END_DECLS