On Wed, Dec 19, 2007 at 07:03:46PM -0500, Norman Ramsey wrote:
> Package: lua5.1
> Version: 5.1.2-4
> Severity: normal
> 
> It seems to me that the Lua interpreter should accept as many
> arguments as the local operating system is willing to provide.  This
> number is fairly fuzzy (see http://tinyurl.com/nn8yd for a good
> discussion of the issues), but the current default of 2048 is
> unreasonably small for a stock Debian system.  ARG_MAX is 131072 on
> this system, so supposing we assume each argument is an 8.3 pathname
> with a trailing null, even leaving room for some environment this is
> space for about ten thousand arguments.  I suggest that when Lua is
> built for Debian that line 445 of luaconf.h be changed so that 
> LUAI_MAXCSTACK is more in that range.

Citing luaconf.h:

   This limit is arbitrary; its only purpose is to stop C
   functions to consume unlimited stack space.

So it seems safe to increase this parameter. The only thing that bothers
me is that you may end up writing a lua script that works pretty well on
Debian, but won't run on Fedora/Gentoo/Windows/OSX or any other platform on
which lua has been compiled with *default* options.

I suggest you to make your script accept a path (root directory) and
iterate on its contents with lfs.dir (liblua5.1-filesystem0 in debian).
This should work even for extremely populated directories and is pretty
portable too. lfs also supports a function to check if a given path is a
directory (thus the current semantics of your script can be preserved).
Your command line should then be changed using '.' instead of '*'.

Since the workaround seems easy and the patch could compromise
portability of .lua scripts written on Debian, I'm reluctant to the
proposed change.

Do you agree? 

Cheers
-- 
Enrico Tassi



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to