aboutgitcodebugslistschat
diff options
context:
space:
mode:
-rw-r--r--conf.c2
-rw-r--r--lineread.c10
-rw-r--r--lineread.h7
3 files changed, 9 insertions, 10 deletions
diff --git a/conf.c b/conf.c
index fdeb9db..3998bfa 100644
--- a/conf.c
+++ b/conf.c
@@ -401,9 +401,9 @@ static void get_dns(struct ctx *c)
struct fqdn *s = c->dns_search;
struct lineread resolvconf;
unsigned int added = 0;
+ ssize_t line_len;
char *line, *end;
const char *p;
- int line_len;
dns4_set = !c->ifi4 || !IN4_IS_ADDR_UNSPECIFIED(dns4);
dns6_set = !c->ifi6 || !IN6_IS_ADDR_UNSPECIFIED(dns6);
diff --git a/lineread.c b/lineread.c
index d631da4..0387f4a 100644
--- a/lineread.c
+++ b/lineread.c
@@ -39,13 +39,11 @@ void lineread_init(struct lineread *lr, int fd)
*
* Return: length of line in bytes, -1 if no line was found
*/
-static int peek_line(struct lineread *lr, bool eof)
+static ssize_t peek_line(struct lineread *lr, bool eof)
{
char *nl;
/* Sanity checks (which also document invariants) */
- ASSERT(lr->count >= 0);
- ASSERT(lr->next_line >= 0);
ASSERT(lr->next_line + lr->count >= lr->next_line);
ASSERT(lr->next_line + lr->count <= LINEREAD_BUFFER_SIZE);
@@ -74,13 +72,13 @@ static int peek_line(struct lineread *lr, bool eof)
*
* Return: Length of line read on success, 0 on EOF, negative on error
*/
-int lineread_get(struct lineread *lr, char **line)
+ssize_t lineread_get(struct lineread *lr, char **line)
{
bool eof = false;
- int line_len;
+ ssize_t line_len;
while ((line_len = peek_line(lr, eof)) < 0) {
- int rc;
+ ssize_t rc;
if ((lr->next_line + lr->count) == LINEREAD_BUFFER_SIZE) {
/* No space at end */
diff --git a/lineread.h b/lineread.h
index af86418..9203e28 100644
--- a/lineread.h
+++ b/lineread.h
@@ -18,14 +18,15 @@
* @buf: Buffer storing data read from file.
*/
struct lineread {
- int fd; int next_line;
- int count;
+ int fd;
+ ssize_t next_line;
+ ssize_t count;
/* One extra byte for possible trailing \0 */
char buf[LINEREAD_BUFFER_SIZE+1];
};
void lineread_init(struct lineread *lr, int fd);
-int lineread_get(struct lineread *lr, char **line);
+ssize_t lineread_get(struct lineread *lr, char **line);
#endif /* _LINEREAD_H */