That will make you as the author of this commit. I think not much people have pull from the sparse repository yet. How about I just roll back and reapply your patch without the undo part? Of course you need to regenerate a patch with James' ACK. The problem is that the next pull from sparse repository will be a bit messy if you have the abandoned branch already. Nothing "git reset" can't fix. Hopefully that will not affect a lot of people. Chris On Tue, Dec 3, 2013 at 12:26 AM, Franz Schrober <franzschrober@xxxxxxxxx> wrote: > From: James Westby <james@xxxxxxxxxxxxxxx> > > Changes in the library have left the README giving out of date information > on how to intialise the library and get the symbols out of it. Update the > documentation to match the latest functions. > > Signed-off-by: James Westby <james@xxxxxxxxxxxxxxx> > Signed-off-by: Franz Schrober <franzschrober@xxxxxxxxx> > --- > This patch was already submitted by James Westby and had to be reverted again > after he didn't responded in the 4 year relicense process. Now he accepted the > change to MIT license and I just resubmit it for him. So it is a revert for the > revert 01b00f59f2a6aba6b623c0a68827938c1f570877 ('Revert "Update the > information in README about using the library."') > > Sorry for the inconveniences. > > README | 29 ++++++++--------------------- > 1 file changed, 8 insertions(+), 21 deletions(-) > > diff --git a/README b/README > index a731a82..033ae15 100644 > --- a/README > +++ b/README > @@ -47,35 +47,22 @@ requires the information. > > This means that a user of the library will literally just need to do > > - struct token *token; > - int fd = open(filename, O_RDONLY); > - struct symbol_list *list = NULL; > + struct string_list *filelist = NULL; > + char *file; > > - if (fd < 0) > - exit_with_complaint(); > + action(sparse_initialize(argc, argv, filelist)); > > - // Initialize parse symbols > - init_symbols(); > - > - // Tokenize the input stream > - token = tokenize(filename, fd, NULL); > - > - // Pre-process the stream > - token = preprocess(token); > - > - // Parse the resulting C code > - translation_unit(token, &list); > - > - // Evaluate the types now if we want to > - // Or leave it until later. > - symbol_iterate(list, evaluate_symbol, NULL); > + FOR_EACH_PTR_NOTAG(filelist, file) { > + action(sparse(file)); > + } END_FOR_EACH_PTR_NOTAG(file); > > and he is now done - having a full C parse of the file he opened. The > library doesn't need any more setup, and once done does not impose any > more requirements. The user is free to do whatever he wants with the > parse tree that got built up, and needs not worry about the library ever > again. There is no extra state, there are no parser callbacks, there is > -only the parse tree that is described by the header files. > +only the parse tree that is described by the header files. The action > +funtion takes a pointer to a symbol_list and does whatever it likes with it. > > The library also contains (as an example user) a few clients that do the > preprocessing, parsing and type evaluation and just print out the > -- > 1.8.5 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-sparse" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html