]> git.mxchange.org Git - simgear.git/commitdiff
cppbind: tweaking from_nasal/to_nasal.
authorThomas Geymayer <tomgey@gmail.com>
Mon, 4 Mar 2013 15:26:28 +0000 (16:26 +0100)
committerThomas Geymayer <tomgey@gmail.com>
Mon, 4 Mar 2013 15:26:28 +0000 (16:26 +0100)
simgear/nasal/cppbind/Ghost.hxx
simgear/nasal/cppbind/detail/from_nasal_helper.cxx

index 6cf37b63327a173d28afbb2c7ac8f110f909447d..c1d2dae23f72ced0e63d37130477b41a858035e3 100644 (file)
@@ -166,6 +166,12 @@ namespace nasal
       return (*from_nasal_ptr<T>::get())(c, args[index]);
     }
 
+    template<class T>
+    naRef to_nasal(T arg) const
+    {
+      return nasal::to_nasal(c, arg);
+    }
+
     naContext   c;
     size_t      argc;
     naRef      *args;
index 2a1651028f446eec269f3d0b7fa9f87c817d1a96..cbac3558cd32da97c174c612efe24cc1fcf218ac 100644 (file)
@@ -53,6 +53,9 @@ namespace nasal
   std::string from_nasal_helper(naContext c, naRef ref, const std::string*)
   {
     naRef na_str = naStringValue(c, ref);
+    if( !naIsString(na_str) )
+      throw bad_nasal_cast("Not convertible to string");
+
     return std::string(naStr_data(na_str), naStr_len(na_str));
   }