On Fri, Dec 07, 2007 at 12:54:36PM -0600, Aaron Griffin wrote:
I was thinking exactly the same as Andrew, why not just using ssize_t archive_read_data(struct archive *, void *buff, size_t len);
I don't understand what you are saying however, about returning a fd.
Oh man, ignore what I said - I was overthinking that to the parsing routines and all that jazz - in this case we're returning the changelog as an alpm_list_t of strings. Yes, in this case it would definitely be better to read direct from the archive. HOWEVER, you can't read line by line... what you need to do is make some sort of "archive_readline" function that reads one char at a time until a newline char. It's annoying, but that's the best we can do until libarchive gets a "readline" function.
Oh ok, yes it looks like you are right. However, there is a point that is unclear to me : why exactly do we need to read line by line?