From 74274b5dc347ba70e4abd1f329feb41538f82ff4 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Mon, 28 May 2012 17:30:08 -0400 Subject: add real_line_size to alpm_read_buffer We inevitably call strlen() or similar on the line returned from _alpm_archive_fgets(), so include the line size of the interesting line in the struct. Signed-off-by: Dave Reisner Signed-off-by: Dan McGee --- lib/libalpm/util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/libalpm/util.c') diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index 996d7f4e..8fd7a100 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -1009,7 +1009,7 @@ int _alpm_archive_fgets(struct archive *a, struct archive_read_buffer *b) } if(eol) { - size_t len = (size_t)(eol - b->block_offset); + size_t len = b->real_line_size = (size_t)(eol - b->block_offset); memcpy(b->line_offset, b->block_offset, len); b->line_offset[len] = '\0'; b->block_offset = eol + 1; @@ -1017,7 +1017,7 @@ int _alpm_archive_fgets(struct archive *a, struct archive_read_buffer *b) return ARCHIVE_OK; } else { /* we've looked through the whole block but no newline, copy it */ - size_t len = (size_t)(b->block + b->block_size - b->block_offset); + size_t len = b->real_line_size = (size_t)(b->block + b->block_size - b->block_offset); memcpy(b->line_offset, b->block_offset, len); b->line_offset += len; b->block_offset = b->block + b->block_size; -- cgit v1.2.3-24-g4f1b