Merge remote-tracking branch 'origin/master' into windows
[scilab.git] / scilab / modules / graphics / sci_gateway / cpp / sci_matplot.cpp
index a092f68..acbb864 100644 (file)
@@ -68,7 +68,7 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
 
     if (in.size() < 1)
     {
-        return Overload::call(L"%_Matplot", in, _iRetCount, out);
+        return Overload::call("%_Matplot", in, _iRetCount, out);
     }
 
     if (in.size() > 5)
@@ -228,8 +228,7 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
             return types::Function::Error;
         }
 
-        strf =  wide_string_to_UTF8(in[1]->getAs<types::String>()->get(0));
-        bFREE = true;
+        strf =  in[1]->getAs<types::String>()->get(0);
         if (in.size() > 2)
         {
             if (in[2]->isDouble() == false)
@@ -266,27 +265,16 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
     if (opt.size() > 4)
     {
         Scierror(999, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "Matplot", 1, 5);
-        if (bFREE)
-        {
-            FREE(strf);
-        }
-        delete[] nax;
         return types::Function::Error;
     }
 
     // get optional argument if necessary
     for (const auto& o : opt)
     {
-        if (o.first == L"strf")
+        if (o.first == "strf")
         {
             if (o.second->isString() == false)
             {
-                Scierror(999, _("%s: Wrong type for input argument #%ls: string expected.\n"), "Matplot1", o.first.c_str());
-                if (bFREE)
-                {
-                    FREE(strf);
-                }
-
                 if (nax)
                 {
                     delete[] nax;
@@ -301,6 +289,8 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
                 {
                     delete[] axesflag;
                 }
+
+                Scierror(999, _("%s: Wrong type for input argument #%s: string expected.\n"), "Matplot1", o.first.c_str());
                 return types::Function::Error;
             }
 
@@ -309,19 +299,13 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
                 continue;
             }
 
-            strf =  wide_string_to_UTF8(o.second->getAs<types::String>()->get(0));
+            strf =  o.second->getAs<types::String>()->get(0);
             bFREE = true;
         }
         else
         {
             if (o.second->isDouble() == false)
             {
-                Scierror(999, _("%s: Wrong type for input argument #%ls: A matrix expected.\n"), "Matplot1", o.first.c_str());
-                if (bFREE)
-                {
-                    FREE(strf);
-                }
-
                 if (nax)
                 {
                     delete[] nax;
@@ -336,6 +320,8 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
                 {
                     delete[] axesflag;
                 }
+
+                Scierror(999, _("%s: Wrong type for input argument #%s: A matrix expected.\n"), "Matplot1", o.first.c_str());
                 return types::Function::Error;
             }
 
@@ -343,11 +329,11 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
             double* pdbl = pDbl->get();
             int iSize = pDbl->getSize();
 
-            if (o.first == L"rect" && rect == NULL)
+            if (o.first == "rect" && rect == NULL)
             {
                 rect = pdbl;
             }
-            else if (o.first == L"nax" && nax == NULL)
+            else if (o.first == "nax" && nax == NULL)
             {
                 nax = new int[iSize];
                 for (int i = 0; i < iSize; i++)
@@ -356,7 +342,7 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
                 }
                 flagNax = TRUE;
             }
-            else if (o.first == L"frameflag" && frameflag == NULL)
+            else if (o.first == "frameflag" && frameflag == NULL)
             {
                 frameflag = new int[iSize];
                 for (int i = 0; i < iSize; i++)
@@ -364,7 +350,7 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
                     frameflag[i] = (int)pdbl[i];
                 }
             }
-            else if (o.first == L"axesflag" && axesflag == NULL)
+            else if (o.first == "axesflag" && axesflag == NULL)
             {
                 axesflag = new int[iSize];
                 for (int i = 0; i < iSize; i++)