Exemplo n.º 1
0
		public static void luaZ_resizebuffer(LuaState L, Mbuffer buff, int size)
		{
			if (buff.buffer == null)
				buff.buffer = new CharPtr();
			LuaMReallocVector(L, ref buff.buffer.chars, (int)buff.buffsize, size);
			buff.buffsize = (uint)buff.buffer.chars.Length;
		}
Exemplo n.º 2
0
 public static void luaZ_resizebuffer(LuaState L, Mbuffer buff, int size)
 {
     if (buff.buffer == null)
     {
         buff.buffer = new CharPtr();
     }
     LuaMReallocVector(L, ref buff.buffer.chars, (int)buff.buffsize, size);
     buff.buffsize = (uint)buff.buffer.chars.Length;
 }
Exemplo n.º 3
0
 public static void luaZ_resizebuffer(lua_State L, Mbuffer buff, int size)
 {
     if (buff.buffer == null)             //FIXME:added
     {
         buff.buffer = new CharPtr();     //FIXME:added
     }
     luaM_reallocvector(L, ref buff.buffer.chars, (int)buff.buffsize, size);
     buff.buffsize = (uint)buff.buffer.chars.Length;
 }
Exemplo n.º 4
0
 /* ------------------------------------------------------------------------ */
 public static CharPtr luaZ_openspace(lua_State L, Mbuffer buff, uint n)
 {
     if (n > buff.buffsize)
     {
         if (n < LUA_MINBUFFER)
         {
             n = LUA_MINBUFFER;
         }
         luaZ_resizebuffer(L, buff, (int)n);
     }
     return(buff.buffer);
 }
Exemplo n.º 5
0
 private static void save(LexState ls, int c)
 {
     Mbuffer b = ls.buff;
     if (b.n + 1 > b.buffsize)
     {
         uint newsize;
         if (b.buffsize >= MAX_SIZET / 2)
             luaX_lexerror(ls, "lexical element too long", 0);
         newsize = b.buffsize * 2;
         luaZ_resizebuffer(ls.L, b, (int)newsize);
     }
     b.buffer[b.n++] = (char)c;
 }
Exemplo n.º 6
0
        //static void/*l_noret*/ lexerror (LexState *ls, const char *msg, int token);


        private static void save(LexState ls, int c)
        {
            Mbuffer b = ls.buff;

            if (luaZ_bufflen(b) + 1 > luaZ_sizebuffer(b))
            {
                uint newsize;
                if (luaZ_sizebuffer(b) >= MAX_SIZE / 2)
                {
                    lexerror(ls, "lexical element too long", 0);
                }
                newsize = luaZ_sizebuffer(b) * 2;
                luaZ_resizebuffer(ls.L, b, (int)newsize);
            }
            b.buffer[luaZ_bufflen(b)] = (char)c; b.n++;      //FXIME:???luaZ_bufflen(b)++
        }
        /*
        ** load precompiled chunk
        */
        public static Proto luaU_undump(lua_State L, ZIO Z, Mbuffer buff, CharPtr name)
        {
            LoadState S = new LoadState();

            if (name[0] == '@' || name[0] == '=')
            {
                S.name = name + 1;
            }
            else if (name[0] == LUA_SIGNATURE[0])
            {
                S.name = "binary string";
            }
            else
            {
                S.name = name;
            }
            S.L = L;
            S.Z = Z;
            S.b = buff;
            LoadHeader(S);
            return(LoadFunction(S, luaS_newliteral(L, "=?")));
        }
Exemplo n.º 8
0
 public static Proto luaY_parser(LuaState L, ZIO z, Mbuffer buff, CharPtr name)
 {
     LexState lexstate = new LexState();
       FuncState funcstate = new FuncState();
       lexstate.buff = buff;
       LuaXSetInput(L, lexstate, z, luaS_new(L, name));
       open_func(lexstate, funcstate);
       funcstate.f.is_vararg = VARARG_ISVARARG;  /* main func. is always vararg */
       LuaXNext(lexstate);  /* read first token */
      		  System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
       chunk(lexstate);
       check(lexstate, (int)RESERVED.TK_EOS);
       close_func(lexstate);
       LuaAssert(funcstate.prev == null);
       LuaAssert(funcstate.f.nups == 0);
       LuaAssert(lexstate.fs == null);
       return funcstate.f;
 }
Exemplo n.º 9
0
 //#if !defined(luai_verifycode)
 private static void luai_verifycode(lua_State L, Mbuffer b, Proto f) /* empty */ }
Exemplo n.º 10
0
 public static uint luaZ_bufflen(Mbuffer buff)
 {
     return buff.n;
 }
Exemplo n.º 11
0
        //#endif


        private static int buff2d(Mbuffer b, out lua_Number e)
        {
            return(luaO_str2d(luaZ_buffer(b), luaZ_bufflen(b) - 1, out e));
        }
Exemplo n.º 12
0
 public static void luaZ_resetbuffer(Mbuffer buff)
 {
     buff.n = 0;
 }
Exemplo n.º 13
0
 public static uint luaZ_sizebuffer(Mbuffer buff)
 {
     return buff.buffsize;
 }
Exemplo n.º 14
0
 public static uint luaZ_sizebuffer(Mbuffer buff)
 {
     return(buff.buffsize);
 }
Exemplo n.º 15
0
 public static uint luaZ_bufflen(Mbuffer buff)
 {
     return(buff.n);
 }
Exemplo n.º 16
0
 public static CharPtr luaZ_buffer(Mbuffer buff)
 {
     return(buff.buffer);
 }
Exemplo n.º 17
0
 public static void luaZ_initbuffer(lua_State L, Mbuffer buff)
 {
     buff.buffer = null; buff.buffsize = 0;
 }
Exemplo n.º 18
0
        //#if !defined(getlocaledecpoint)
        //private static char getlocaledecpoint() { return localeconv().decimal_point[0];}
        //#endif


        private static int buff2num(Mbuffer b, TValue o)
        {
            return((luaO_str2num(luaZ_buffer(b), o) != 0)?1:0);
        }
Exemplo n.º 19
0
 /*
 ** load precompiled chunk
 */
 public static Proto luaU_undump(lua_State L, ZIO Z, Mbuffer buff, CharPtr name)
 {
     LoadState S = new LoadState();
      if (name[0] == '@' || name[0] == '=')
       S.name = name+1;
      else if (name[0]==LUA_SIGNATURE[0])
       S.name="binary string";
      else
       S.name=name;
      S.L=L;
      S.Z=Z;
      S.b=buff;
      LoadHeader(S);
      return LoadFunction(S,luaS_newliteral(L,"=?"));
 }
Exemplo n.º 20
0
 public static void luaZ_initbuffer(LuaState L, Mbuffer buff)
 {
     buff.buffer = null;
 }
Exemplo n.º 21
0
 public static void luaZ_resetbuffer(Mbuffer buff)
 {
     buff.n = 0;
 }
Exemplo n.º 22
0
        }                                                                                              //FIXME:changed, ref->return

        //#if !defined(luai_verifycode)
        public static Proto luai_verifycode(lua_State L, Mbuffer b, Proto f)
        {
            return(f);
        }
Exemplo n.º 23
0
 public static CharPtr luaZ_buffer(Mbuffer buff)
 {
     return buff.buffer;
 }
Exemplo n.º 24
0
 public static void luaZ_initbuffer(LuaState L, Mbuffer buff)
 {
     buff.buffer = null;
 }
Exemplo n.º 25
0
 public static void luaZ_freebuffer(LuaState L, Mbuffer buff)
 {
     luaZ_resizebuffer(L, buff, 0);
 }
Exemplo n.º 26
0
 public static void luaZ_buffremove(Mbuffer buff, int i) /*buff.n -= i;*/ buff
Exemplo n.º 27
0
 public static CharPtr luaZ_openspace(LuaState L, Mbuffer buff, uint n)
 {
     if (n > buff.buffsize)
     {
         if (n < LUAMINBUFFER) n = LUAMINBUFFER;
         luaZ_resizebuffer(L, buff, (int)n);
     }
     return buff.buffer;
 }
Exemplo n.º 28
0
 public static void luaZ_freebuffer(lua_State L, Mbuffer buff)
 {
     luaZ_resizebuffer(L, buff, 0);
 }