Re: newbie: local buf = ffi.new("char[?]", "HELLO WORLD") fails PROBABLY SOLVED

  • From: Patrick Masotta <masottaus@xxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx
  • Date: Thu, 21 Jun 2012 08:38:20 -0700 (PDT)

I think you can see the symetry here better

local  var_01       = ffi.new("char[?]",50,"default value for var_01" )
local  var_01_desc  = ffi.new("char[?]", 0, "This is the var_01 
description\nvar_01 is used for...\nvar_01 allowed values are...");



--- On Thu, 6/21/12, Claire Lewis <claire_lewis@xxxxxxxxxxx> wrote:

> From: Claire Lewis <claire_lewis@xxxxxxxxxxx>
> Subject: Re: newbie: local buf = ffi.new("char[?]", "HELLO WORLD") fails 
> PROBABLY SOLVED
> To: luajit@xxxxxxxxxxxxx
> Date: Thursday, June 21, 2012, 8:20 AM
> 
> > I agree the patch is not "necessary" but it adds the
> beauty of simmetry and simplicity
> 
> It is certainly simpler; I'm not sure it really adds
> "simmetry" to anything; if anything it is less orthogonal
> because other VLA cases require the length.
> 
> > the former chunk does not create aux variables and
> looks far better than
> 
> Creation of (local) variables is probably not a huge worry
> in LuaJIT; it'll likely deal with that.  It's the
> creation of values that can be expensive, and it already
> creates a string value either way.
> 
> In any case, I meant that it would be just as easy to wrap
> it within Lua, as suggested by someone earlier in the
> thread.
> 
> Here's another possible way to do that (untested):
> 
> function cstring(str)
>    return #str+1, str
> end
> 
> ...
> 
> local  var_01 = ffi.new("char[?]", cstring "default
> value for var_01" )
> 
> 
> - Claire.
> 
> 
>

Other related posts: