aboutsummaryrefslogtreecommitdiff
path: root/src/librc/librc-misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/librc/librc-misc.c')
-rw-r--r--src/librc/librc-misc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/librc/librc-misc.c b/src/librc/librc-misc.c
index 8cbd6a6d..afd078dd 100644
--- a/src/librc/librc-misc.c
+++ b/src/librc/librc-misc.c
@@ -108,6 +108,7 @@ librc_hidden_def(rc_strcatpaths)
char *rc_getline (FILE *fp)
{
char *line = NULL;
+ char *p;
size_t len = 0;
size_t last = 0;
@@ -117,8 +118,9 @@ char *rc_getline (FILE *fp)
do {
len += BUFSIZ;
line = xrealloc (line, sizeof (char) * len);
- fgets (line + last, BUFSIZ, fp);
- last = strlen (line + last) - 1;
+ p = line + last;
+ fgets (p, BUFSIZ, fp);
+ last += strlen (p);
} while (! feof (fp) && line[last] != '\n');
/* Trim the trailing newline */