]> git.mxchange.org Git - simgear.git/blobdiff - simgear/nasal/string.c
cppbind: refactor to_nasal for better name lookup.
[simgear.git] / simgear / nasal / string.c
index 65a29526c97ce0db31a08c87b0d48a08f6edf64c..ce8b5ac252721919a91293196b8ba29b277d1604 100644 (file)
@@ -185,9 +185,7 @@ static int tonum(unsigned char* s, int len, double* result)
     int i=0, fraclen=0;
     double sgn=1, val, frac=0, exp=0;
 
-    // Special case, "." is not a number, even though "1." and ".0" are.
-    if(len == 1 && s[0] == '.')
-        return 0;
+    if(len == 1 && (*s=='.' || *s=='-' || *s=='+')) return 0;
 
     // Strip off the leading negative sign first, so we can correctly
     // parse things like -.xxx which would otherwise confuse
@@ -322,3 +320,27 @@ static int fromnum(double val, unsigned char* s)
     *ptr = 0;
     return ptr - s;
 }
+
+
+//------------------------------------------------------------------------------
+static naRef string_methods;
+static int init = 0; // As we can't use naNil() for static initialization we
+                     // need a separate variable for saving whether we have
+                     // already initialized.
+
+//------------------------------------------------------------------------------
+naRef naInit_string(naContext c)
+{
+  string_methods = naNewHash(c);
+  init = 1;
+  return string_methods;
+}
+
+//------------------------------------------------------------------------------
+naRef getStringMethods(naContext c)
+{
+  if( !init )
+    return naNil();
+
+  return string_methods;
+}