On 15/12/10 16:48, Dan McGee wrote:
Please let me know if it is unclear how the new function works, so more
comments can be put in there.
This is a really nice improvement over the old character at a time
implementation. I found the comments in the function to clearly
describe what is happening.
I only have one query and what will forever be known as "the worlds most
trivial correction" to make.
<snip>
+ /* loop until we reach EOF or other error */
+ while(_alpm_archive_fgets(a,&buf) == ARCHIVE_OK) {
+ char *line = buf.line ? _alpm_strtrim(buf.line) : "";
<snip>
+ if(_alpm_archive_fgets(archive,&buf) != ARCHIVE_OK) goto error; \
+ s = buf.line ? _alpm_strtrim(buf.line) : ""; \
<snip>
+ while(_alpm_archive_fgets(archive,&buf) == ARCHIVE_OK) {
+ char *line = _alpm_strtrim(buf.line);
I am unsure why the ?: NULL check is done with the first two and not the
third. I might be missing something here...
<snip>
Prepare yourself for this insight I am about to impart:
+ /* zero-copy- this is the entire next block of data. */
Space between "zero-copy" and the hyphen. :P
Allan