> * Eric Blake <roy...@erqung.pbz> [2011-08-23 08:03:02 -0600]: > > 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.)
ELOOP at SYMLOOP_MAX sounds good to me. Please note that gnulib's mandate (as far as _I_ understand it) is to turn a random system into a POSIX system, not a GNU system. Please provide a separate module when you want to follow the GNU mantra, like you do with fnmatch. Thanks! > fchownat.c because the openat module has too many functions. I would say that all the "f*" (i.e., using FILE*) files are an overkill. > Anyone willing to split openat into multiple modules, one per > function, more like other gnulib modules? Please! >> 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() Please! -- Sam Steingold (http://sds.podval.org/) on CentOS release 5.6 (Final) X 11.0.60900031 http://pmw.org.il http://iris.org.il http://ffii.org http://honestreporting.com http://www.PetitionOnline.com/tap12009/ http://openvotingconsortium.org (let((a'(list'let(list(list'a(list'quote a)))a)))`(let((a(quote ,a))),a))