On Wed, Sep 23, 2009 at 05:03:22PM +0200, Xavier wrote: > 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 ? :) > Not much further since we last talked on IRC, I have a working version, but I am still debating if basing it on Dan's backend branch might be better, some input from Dan could be helpful in that regard.
> 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 > Dito, especially about the introduction of a dboperations struct or something similar. > 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. > It should be, Dan did not touch the parsing stuff on that branch at all iirc. However the branch is outdated in some places by now.
