On Wed, May 7, 2008 at 6:53 PM, John Fieber <[EMAIL PROTECTED]> wrote:
> While adding additional map_handler forms would address the problem, I think > it would be cleaner to add a map_handler-safe version of > librdf_[iterator|stream]_get_context, or work out a way to make the existing > function map_handler safe, i.e. not result in a recursive call to > librdf_[iterator|stream]_update_current_element(). It might do to change > boolean "is_updated" into three states to include "is_mapping" to break the > infinite recursion in librdf_[iterator|stream]_update_current_element() when > processing mapping functions. We also had some application code that needed to check context nodes in a stream map callback. Not wanting to wait for an undefined time for your patch, I fixed it myself in svn.librdf.org r13987 for both librdf_streams and librdf_iterators. The approach is similar to yours - there's a is_updating flag in the stream/iterator object that is set when processing map function callbacks and when it is set, the update function is not called in get_context(). Lauri _______________________________________________ redland-dev mailing list [email protected] http://lists.librdf.org/mailman/listinfo/redland-dev
