> Here is a patch for new method pdf_fsys_build_path(). I tested it
>     on GNU/Linux.
> 
>     +...@item ...
>     +Variable-length pdf_text_t object list, last element must be NULL.
> 
> It is dangerous to rely on the client of the function to terminate the
> list with a NULL value: if she forgets about the rule then the results
> would be unpredictable.
> 

Well, I don't quite find it so dangerous, and I was the one actually
suggesting to gerel such a change (he first used the approach for the
number-of-arguments-variable)... :-)

Just wanted to follow GLib's approach in g_build_filename(), which does
the same thing. And actually, I believe that the approach of marking the
last element in a variadic function with a specific value is
widely-used.

Instead of a plain NULL, we could set a PDF_FSYS_BUILD_PATH_LAST symbol
which will anyway be NULL internally...

I can't right now say which approach is better, but I believe is more
error-prone to actually make the developer manually count how many
elements will be passed to the variadic function...

Cheers

-- 
Aleksander



Reply via email to