]> git.mxchange.org Git - simgear.git/blobdiff - simgear/nasal/code.c
Alas. Fix #pragma magic for GCC <= 4.5.
[simgear.git] / simgear / nasal / code.c
index 11754b2045e56dd61b8a7d2aa3a5baa9511e83f0..782509da1d268c038da9ca60899cc8e96dc65bfa 100644 (file)
@@ -20,10 +20,6 @@ void printOpDEBUG(int ip, int op);
 void printStackDEBUG(naContext ctx);
 ////////////////////////////////////////////////////////////////////////
 
-#ifdef _MSC_VER
-#define vsnprintf _vsnprintf
-#endif
-
 struct Globals* globals = 0;
 
 static naRef bindFunction(naContext ctx, struct Frame* f, naRef code);
@@ -273,7 +269,7 @@ static void setupArgs(naContext ctx, struct Frame* f, naRef* args, int nargs)
     args += c->nOptArgs;
     if(c->needArgVector || nargs > 0) {
         naRef argv = naNewVector(ctx);
-        naVec_setsize(argv, nargs > 0 ? nargs : 0);
+        naVec_setsize(ctx, argv, nargs > 0 ? nargs : 0);
         for(i=0; i<nargs; i++)
             PTR(argv).vec->rec->array[i] = *args++;
         naiHash_newsym(PTR(f->locals).hash, &c->constants[c->restArgSym], &argv);
@@ -353,7 +349,7 @@ static naRef evalCat(naContext ctx, naRef l, naRef r)
     if(IS_VEC(l) && IS_VEC(r)) {
         int i, ls = naVec_size(l), rs = naVec_size(r);
         naRef v = naNewVector(ctx);
-        naVec_setsize(v, ls + rs);
+        naVec_setsize(ctx, v, ls + rs);
         for(i=0; i<ls; i+=1) naVec_set(v, i, naVec_get(l, i));
         for(i=0; i<rs; i+=1) naVec_set(v, i+ls, naVec_get(r, i));
         return v;
@@ -503,7 +499,7 @@ static int vbound(naContext ctx, naRef v, naRef ir, int end)
 static void evalSlice(naContext ctx, naRef src, naRef dst, naRef idx)
 {
     if(!IS_VEC(src)) ERR(ctx, "cannot slice non-vector");
-    naVec_append(dst, naVec_get(src, vbound(ctx, src, idx, 0)));
+    naVec_append(dst, naVec_get(src, checkVec(ctx, src, idx)));
 }
  
 static void evalSlice2(naContext ctx, naRef src, naRef dst,