On Wed, Sep 23, 2009 at 2:46 PM, Henning Garus
<[email protected]> wrote:
> Split the huge list of else ifs which was used for parsing  'desc',
> 'depends', 'files' and 'deltas' files, into separate functions and move
> them to a new file parse.c . This makes it possible for other backends
> to share the same parse code. Also change the parsing from the giant
> else if list to a single loop calling different functions as specified
> in an array of parser structs (see  parse_lines() for details).
>
> Move _alpm_delta_parse to parse.c and make it static.
>
> Signed-off-by: Henning Garus <[email protected]>
> ---
>
> I actually managed to make it longer, instead of shorter (well if you
> take out comments and license headers this version is roughly as long
> as the old one), however I think it is more readable. Feel free to call
> it overkill though.
>
> I don't really like the ugets stuff I used to get the next line, but I
> wanted this to work on something other than FILE*, even though this is
> not used (yet), and this was the best thing I could come up with. I
> toyed around with using fopencookie, but that sucks when it comes to
> portability (there is funopen on bsd, beyond that you are simply
> screwed).
>

Well, after a quick look, I would say it looks cool.
This work was still motivated by tar database backend, right ?
(http://bugs.archlinux.org/task/8586)
How far do you think you are from it ? :)

Anyway, I would like to hear what Dan thinks, with all the backend
work he did last year which was never finished :
http://code.toofishes.net/cgit/dan/pacman.git/log/?h=backend

Anyway, your work is on a lower level, and dan's work was on a higher
level, so the two don't seem incompatible at first look.

Reply via email to