Szymon Janc wrote: > Dnia wtorek 16 luty 2010 o 19:16:19 Vladimir 'φ-coder/phcoder' Serbinenko > napisał(a): > > >> I like the patch however few comments: >> 1) How are filters ordered? >> 2) How would I selectively disable a filter. E.g. for hexdump or when >> payload expects compressed data? >> >> +/* Registered filters list. */ >> +static grub_io_filter_t grub_io_filter_list = NULL; >> + >> +void grub_io_register(grub_io_filter_t filter) >> +{ >> + filter->next = grub_io_filter_list; >> + grub_io_filter_list = filter; >> +} >> + >> >> list.h can be used for this. >> > > Attached is new version, changes since previous one: > - use list.h > - filter registration is priority based > - filter can be disabled for next open by grub_io_filter_disable() > > Interface could be simpler if make it only transparent/non-transparent but > this is somewhat less flexible. Yet, is it really needed? > > First of all I would prefer not_easily_seekable part to be a separate patches so it would be easier to pinpoint bugs by bisecting.
+ .prio = 1, This should be macroifyed e.g GRUB_IOFILTER_PRIO_COMPRESSOR grub_io_register, grub_io_unregister and grub_io_filter_disable must be inlined. Last one has to be splitted into grub_io_filter_disable and grub_io_filter_disable_all to avoid special case with "". va_arg in grub_io_filter_disable doesn't justify itself (one can always make 2 calls, especially if function would be inlined > ------------------------------------------------------------------------ > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel -- Regards Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel