Remove harcoded library path , change some variable type
[platform/framework/web/wrt-plugins-common.git] / src / CommonsJavaScript / Converter.cpp
index f550032..7e1dc9d 100644 (file)
@@ -25,14 +25,11 @@ using namespace WrtDeviceApis::Commons;
 
 namespace WrtDeviceApis {
 namespace CommonsJavaScript {
-
 Converter::Converter(JSContextRef context) : m_context(context)
-{
-}
+{}
 
 Converter::~Converter()
-{
-}
+{}
 
 JSObjectRef Converter::toJSObjectRef(const JSValueRef& arg)
 {
@@ -88,7 +85,8 @@ long long Converter::toLongLong(const JSValueRef& arg)
 
 unsigned long Converter::toULong(const JSValueRef& arg)
 {
-    return static_cast<unsigned long>(toLong(arg));
+    double tmp = toNumber_(arg);
+    return (isNan(tmp) ? 0 : static_cast<unsigned long>(tmp));
 }
 
 std::size_t Converter::toSizeT(const JSValueRef& arg)
@@ -121,12 +119,12 @@ std::string Converter::toString(long arg)
 {
     return toString_(arg);
 }
-
+#ifndef __x86_64__
 std::string Converter::toString(std::size_t arg)
 {
     return toString_(arg);
 }
-
+#endif
 std::string Converter::toString(const JSValueRef& arg)
 {
     return toString_(arg);
@@ -136,7 +134,8 @@ std::string Converter::tryString(const JSValueRef& arg)
 {
     if (!JSValueIsString(m_context, arg) &&
         !JSValueIsNumber(m_context, arg) &&
-        !JSValueIsBoolean(m_context, arg)) {
+        !JSValueIsBoolean(m_context, arg))
+    {
         ThrowMsg(ConversionException,
                  "Argument is not convertable to JS String.");
     }
@@ -222,7 +221,8 @@ std::vector<std::string> Converter::toVectorOfStrings(const JSValueRef& arg)
     return toVectorOfT_(arg, &Converter::toString);
 }
 
-std::vector<time_t> Converter::toVectorOfTimeT(const JSValueRef& arg) {
+std::vector<time_t> Converter::toVectorOfTimeT(const JSValueRef& arg)
+{
     return toVectorOfT_(arg, &Converter::toDateTimeT);
 }
 
@@ -246,7 +246,8 @@ JSValueRef Converter::toJSValueRef(unsigned long arg)
     return JSValueMakeNumber(m_context, arg);
 }
 
-JSValueRef Converter::toJSValueRefLong(const long arg) {
+JSValueRef Converter::toJSValueRefLong(const long arg)
+{
     return JSValueMakeNumber(m_context, arg);
 }
 
@@ -290,8 +291,10 @@ JSValueRef Converter::toJSValueRef(const tm& arg)
 
 JSValueRef Converter::toJSValueRef(const time_t arg)
 {
-    struct tm *tminfo = localtime(&arg);
-    return toJSValueRef(*tminfo);
+    struct tm tminfo;
+    memset(&tminfo,0,sizeof(tminfo));
+    localtime_r(&arg, &tminfo);
+    return toJSValueRef(tminfo);
 }
 
 JSValueRef Converter::toJSValueRef(const std::vector<std::string>& arg)
@@ -304,11 +307,13 @@ JSValueRef Converter::toJSValueRef(const char* arg)
     return toJSValueRef(std::string(arg));
 }
 
-JSValueRef Converter::toJSValueRef(const std::vector<int>& arg) {
+JSValueRef Converter::toJSValueRef(const std::vector<int>& arg)
+{
     return toJSValueRef_(arg);
 }
 
-JSValueRef Converter::toJSValueRef(const std::vector<time_t>& arg) {
+JSValueRef Converter::toJSValueRef(const std::vector<time_t>& arg)
+{
     return toJSValueRef_(arg);
 }
 
@@ -379,7 +384,6 @@ bool Converter::isNan(double value) const
                  NOT_IEEE754_REPRESENTATION);
     return (value != value);
 }
-
 } // CommonsJavaScript
 } // WrtDeviceApis