On 10/28/2010 06:43 AM, Markus Duft wrote: > On 10/28/2010 12:08 PM, Markus Duft wrote: >> On 10/28/2010 12:03 PM, James Youngman wrote: >> [snip] >>> In so far as we're likely ever to fix this problem I'd be inclined to >>> go for the 32K limit that Eric suggested. And perhaps treating >>> ENOMEM like E2BIG when execve fails, for Interix. >> >> mhm - that'd be ok with me. >> >> another solution that came to my mind: i'm maintaining a library, who's sole >> purpose is to fix the incorrect behaviour of libc in some regards on interix >> (libsuacomp [1]). it does some "bad" things already ( ;p ), so maybe i could >> override the sysconf() function (it already overrides approx 70 >> functions...), and make it return a sane value in the _SC_ARG_MAX case. that >> would make the whole problem disappear, and even the first (pushed) patch >> unnecessary.
That's exactly what gnulib is - a library of source code workarounds for broken platform functions. Are you interested in porting your libsuacomp fixes into gnulib, so that more GNU programs can support Interix out of the box? > this is IMHO the best solution, as it takes the responsibility from findutils > to work around existing OS bugs, Agreed - that is the approach that most GNU projects take - isolate the platform bugs into wrapper function fixes, so that the rest of the project can assume sane POSIX semantics. -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature