On Dec 7, 2007 12:35 PM, Xavier <shiningxc@gmail.com> wrote:
On Fri, Dec 07, 2007 at 12:28:25PM -0600, Aaron Griffin wrote:
On Dec 7, 2007 12:20 PM, Andrew Fyfe <andrew@neptune-one.net> wrote:
One small suggestion, has anyone worked out how to read a file directly from an archive using libarchive rather than extracting to a temp file then reading the temp file? It would be useful here and where we read .PKGINFO
Yeah but we'd have to return an fd, which is fine, but adds some extra complexity we may not want.
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.