On 08/23/2011 07:56 AM, Sam Steingold wrote:
Let me reiterate that the size of canonicalize is plain absurd: <https://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00143.html>. 150+ files to implement a single function which takes ~160 lines of C code. These files includes things like hash.c and fchownat.c (why?!)
hash.c in order to properly detect ELOOP, which must be done as part of an unlimited-depth link following algorithm. (If we didn't have the GNU mantra of no arbitrary limits, then we could declare ELOOP at SYMLOOP_MAX instead.)
fchownat.c because the openat module has too many functions. Anyone willing to split openat into multiple modules, one per function, more like other gnulib modules?
as well as __BOTH__ malloc.c and xmalloc.c.
Depending on xmalloc is probably overkill - having a version of canonicalize that returns NULL with ENOMEM instead of abort()ing would indeed be nicer. Anyone willing to contribute patches to break that part of the dependency chain()
-- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org