rollback %ls to %s, it was better before 81/9681/6
Antoine ELIAS [Tue, 13 Nov 2012 17:22:23 +0000 (18:22 +0100)]
Change-Id: I0378172e7c613832b3215e3e6ab58bd4532c7f43

248 files changed:
scilab/libs/dynamiclibrary/includes/dynamiclibrary_windows.h
scilab/libs/dynamiclibrary/src/dynamiclibrary_windows.c
scilab/modules/action_binding/sci_gateway/cpp/sci_notify.cpp
scilab/modules/api_scilab/src/cpp/api_common.cpp
scilab/modules/api_scilab/src/cpp/api_optional.cpp
scilab/modules/ast/ast.vcxproj
scilab/modules/boolean/sci_gateway/cpp/sci_bool2s.cpp
scilab/modules/boolean/sci_gateway/cpp/sci_find.cpp
scilab/modules/boolean/src/cpp/boolean_gw.vcxproj
scilab/modules/console/sci_gateway/cpp/sci_clc.cpp
scilab/modules/console/sci_gateway/cpp/sci_iswaitingforinput.cpp
scilab/modules/console/sci_gateway/cpp/sci_lines.cpp
scilab/modules/console/sci_gateway/cpp/sci_prompt.cpp
scilab/modules/console/sci_gateway/cpp/sci_tohome.cpp
scilab/modules/core/sci_gateway/cpp/sci_abort.cpp
scilab/modules/core/sci_gateway/cpp/sci_error.cpp
scilab/modules/core/sci_gateway/cpp/sci_format.cpp
scilab/modules/core/sci_gateway/cpp/sci_getmd5.cpp
scilab/modules/core/sci_gateway/cpp/sci_getversion.cpp
scilab/modules/core/sci_gateway/cpp/sci_ieee.cpp
scilab/modules/core/sci_gateway/cpp/sci_lasterror.cpp
scilab/modules/core/sci_gateway/cpp/sci_pause.cpp
scilab/modules/core/sci_gateway/cpp/sci_resume.cpp
scilab/modules/core/sci_gateway/cpp/sci_sciargs.cpp
scilab/modules/core/sci_gateway/cpp/sci_stacksize.cpp
scilab/modules/core/sci_gateway/cpp/sci_warning.cpp
scilab/modules/core/sci_gateway/cpp/sci_with_module.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_bvode.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_dasrt.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_dassl.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_feval.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_impl.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_int2d.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_int3d.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_intg.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_ode.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_odedc.cpp
scilab/modules/differential_equations/sci_gateway/differential_equations_gw.vcxproj
scilab/modules/differential_equations/src/cpp/checkodeerror.cpp
scilab/modules/dynamic_link/sci_gateway/cpp/dynamic_link_gw.vcxproj
scilab/modules/dynamic_link/sci_gateway/cpp/sci_addinter.cpp
scilab/modules/dynamic_link/sci_gateway/cpp/sci_c_link.cpp
scilab/modules/dynamic_link/sci_gateway/cpp/sci_getdynlibext.cpp
scilab/modules/dynamic_link/sci_gateway/cpp/sci_ilib_verbose.cpp
scilab/modules/dynamic_link/sci_gateway/cpp/sci_link.cpp
scilab/modules/dynamic_link/sci_gateway/cpp/sci_ulink.cpp
scilab/modules/dynamic_link/src/c/dl_genErrorMessage.c
scilab/modules/dynamic_link/src/cpp/dynamic_link.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_abs.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_acos.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_asin.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_atan.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_ceil.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_clean.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_conj.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_cos.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_cumprod.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_cumsum.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_diag.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_dsearch.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_exp.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_expm.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_eye.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_floor.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_frexp.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_gsort.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_imag.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_imult.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_int.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_isreal.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_kron.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_log.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_log1p.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_matrix.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_max.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_min.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_ones.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_rand.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_rat.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_sin.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_size.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_sum.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_tan.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_zeros.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_basename.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_createdir.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_deletefile.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fileext.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fileinfo.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fileparts.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_filesep.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_findfiles.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fullpath.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_get_absolute_file_path.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_getdrives.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_getlongpathname.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_getrelativefilename.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_getshortpathname.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_isdir.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_isfile.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mclearerr.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mclose.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_meof.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_merror.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mfprintf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mfscanf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mget.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mgetl.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mgetstr.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mopen.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mput.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mputl.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mputstr.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mscanf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mseek.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_msscanf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mtell.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_newest.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_pathconvert.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_pathsep.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_removedir.cpp
scilab/modules/fileio/src/c/findfiles.c
scilab/modules/fileio/src/cpp/mclose.cpp
scilab/modules/fileio/src/cpp/mget.cpp
scilab/modules/fileio/src/cpp/mopen.cpp
scilab/modules/fileio/src/cpp/mput.cpp
scilab/modules/fileio/src/cpp/mseek.cpp
scilab/modules/functions/sci_gateway/cpp/sci_exec.cpp
scilab/modules/functions/sci_gateway/cpp/sci_execstr.cpp
scilab/modules/functions/sci_gateway/cpp/sci_getCurrentThreadId.cpp
scilab/modules/functions/sci_gateway/cpp/sci_getThreads.cpp
scilab/modules/functions/sci_gateway/cpp/sci_mode.cpp
scilab/modules/functions/sci_gateway/cpp/sci_whereis.cpp
scilab/modules/graphics/sci_gateway/cpp/sci_get.cpp
scilab/modules/graphics/sci_gateway/cpp/sci_winsid.cpp
scilab/modules/gui/sci_gateway/cpp/sci_helpbrowser.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_addhistory.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_displayhistory.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_gethistory.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_gethistoryfile.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_historymanager.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_historysize.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_loadhistory.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_removelinehistory.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_resethistory.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_saveafterncommands.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_saveconsecutivecommands.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_savehistory.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_sethistoryfile.cpp
scilab/modules/integer/sci_gateway/cpp/sci_double.cpp
scilab/modules/integer/sci_gateway/cpp/sci_int.cpp
scilab/modules/interpolation/Makefile.am
scilab/modules/interpolation/Makefile.in
scilab/modules/interpolation/sci_gateway/cpp/sci_bsplin3val.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_cshep2d.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_eval_cshep2d.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_interp.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_interp2d.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_interp3d.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_linear_interpn.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_lsq_splin.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_splin.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_splin2d.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_splin3d.cpp
scilab/modules/jvm/sci_gateway/cpp/sci_system_getproperty.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_balanc.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_bdiag.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_chol.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_det.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_hess.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_inv.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_lsq.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_lu.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_qr.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_rcond.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_schur.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_spec.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_svd.cpp
scilab/modules/linear_algebra/src/cpp/schurSelect.cpp
scilab/modules/localization/sci_gateway/cpp/sci_getdefaultlanguage.cpp
scilab/modules/localization/sci_gateway/cpp/sci_getlanguage.cpp
scilab/modules/localization/sci_gateway/cpp/sci_gettext.cpp
scilab/modules/localization/sci_gateway/cpp/sci_setdefaultlanguage.cpp
scilab/modules/localization/sci_gateway/cpp/sci_setlanguage.cpp
scilab/modules/operations/src/cpp/types_divide.cpp
scilab/modules/output_stream/includes/Scierror.h
scilab/modules/output_stream/includes/sciprint.h
scilab/modules/output_stream/sci_gateway/cpp/sci_mprintf.cpp
scilab/modules/output_stream/sci_gateway/cpp/sci_msprintf.cpp
scilab/modules/output_stream/src/c/Scierror.c
scilab/modules/output_stream/src/c/output_stream_export.def
scilab/modules/output_stream/src/c/sciprint.c
scilab/modules/output_stream/src/cpp/scilab_sprintf.cpp
scilab/modules/randlib/sci_gateway/cpp/sci_grand.cpp
scilab/modules/signal_processing/sci_gateway/cpp/sci_corr.cpp
scilab/modules/signal_processing/sci_gateway/cpp/sci_delip.cpp
scilab/modules/signal_processing/sci_gateway/cpp/sci_fft.cpp
scilab/modules/signal_processing/sci_gateway/cpp/sci_rpem.cpp
scilab/modules/signal_processing/sci_gateway/cpp/sci_syredi.cpp
scilab/modules/spreadsheet/sci_gateway/cpp/sci_xls_open.cpp
scilab/modules/spreadsheet/sci_gateway/cpp/sci_xls_read.cpp
scilab/modules/spreadsheet/src/c/ripole/olestream-unwrap.c
scilab/modules/string/sci_gateway/cpp/sci_ascii.cpp
scilab/modules/string/sci_gateway/cpp/sci_convstr.cpp
scilab/modules/string/sci_gateway/cpp/sci_isletter.cpp
scilab/modules/string/sci_gateway/cpp/sci_length.cpp
scilab/modules/string/sci_gateway/cpp/sci_part.cpp
scilab/modules/string/sci_gateway/cpp/sci_regexp.cpp
scilab/modules/string/sci_gateway/cpp/sci_strcat.cpp
scilab/modules/string/sci_gateway/cpp/sci_strchr.cpp
scilab/modules/string/sci_gateway/cpp/sci_strcmp.cpp
scilab/modules/string/sci_gateway/cpp/sci_strcspn.cpp
scilab/modules/string/sci_gateway/cpp/sci_strindex.cpp
scilab/modules/string/sci_gateway/cpp/sci_string.cpp
scilab/modules/string/sci_gateway/cpp/sci_strncpy.cpp
scilab/modules/string/sci_gateway/cpp/sci_strrchr.cpp
scilab/modules/string/sci_gateway/cpp/sci_strrev.cpp
scilab/modules/string/sci_gateway/cpp/sci_strspn.cpp
scilab/modules/string/sci_gateway/cpp/sci_strstr.cpp
scilab/modules/string/sci_gateway/cpp/sci_strsubst.cpp
scilab/modules/string/sci_gateway/cpp/sci_strtod.cpp
scilab/modules/string/sci_gateway/cpp/sci_strtok.cpp
scilab/modules/string/sci_gateway/cpp/sci_tokens.cpp
scilab/modules/types/sci_gateway/cpp/sci_adj2sp.cpp
scilab/modules/types/sci_gateway/cpp/sci_fieldnames.cpp
scilab/modules/types/sci_gateway/cpp/sci_full.cpp
scilab/modules/types/sci_gateway/cpp/sci_getfield.cpp
scilab/modules/types/sci_gateway/cpp/sci_inspectorDeleteUnreferencedItems.cpp
scilab/modules/types/sci_gateway/cpp/sci_inspectorGetFunctionList.cpp
scilab/modules/types/sci_gateway/cpp/sci_inspectorGetItem.cpp
scilab/modules/types/sci_gateway/cpp/sci_inspectorGetItemCount.cpp
scilab/modules/types/sci_gateway/cpp/sci_inspectorGetUnreferencedItem.cpp
scilab/modules/types/sci_gateway/cpp/sci_inspectorShowItem.cpp
scilab/modules/types/sci_gateway/cpp/sci_inspectorShowUnreferencedItem.cpp
scilab/modules/types/sci_gateway/cpp/sci_isfield.cpp
scilab/modules/types/sci_gateway/cpp/sci_nnz.cpp
scilab/modules/types/sci_gateway/cpp/sci_sp2adj.cpp
scilab/modules/types/sci_gateway/cpp/sci_sparse.cpp
scilab/modules/types/sci_gateway/cpp/sci_spcompack.cpp
scilab/modules/types/sci_gateway/cpp/sci_spget.cpp
scilab/modules/types/sci_gateway/cpp/sci_spones.cpp
scilab/modules/types/sci_gateway/cpp/sci_spzeros.cpp
scilab/modules/types/sci_gateway/cpp/sci_struct.cpp
scilab/modules/types/sci_gateway/cpp/sci_tlist_or_mlist.hxx
scilab/modules/types/sci_gateway/cpp/types_gw/types_gw.vcxproj
scilab/modules/types/src/cpp/function.cpp
scilab/modules/types/src/cpp/macro.cpp
scilab/modules/types/typesmacro/typesmacro.vcxproj

index 621399c..a1aea1a 100644 (file)
@@ -60,7 +60,7 @@ IMPORT_EXPORT_DYNAMICLIBRARY_DLL DynLibFuncPtr GetDynLibFuncPtrW(DynLibHandle _h
 * return last dynamic linking error 
 * @return a string
 */
-IMPORT_EXPORT_DYNAMICLIBRARY_DLL  wchar_t* GetLastDynLibError(void);
+IMPORT_EXPORT_DYNAMICLIBRARY_DLL  char* GetLastDynLibError(void);
 
 
 typedef int (*PROC_GATEWAY) (void);
index 931d0f2..6c4aacd 100644 (file)
@@ -60,21 +60,21 @@ IMPORT_EXPORT_DYNAMICLIBRARY_DLL DynLibFuncPtr GetDynLibFuncPtrW(DynLibHandle _h
     return retFuncPtr;
 }
 /*---------------------------------------------------------------------------*/
-IMPORT_EXPORT_DYNAMICLIBRARY_DLL wchar_t* GetLastDynLibError(void)
+IMPORT_EXPORT_DYNAMICLIBRARY_DLL char* GetLastDynLibError(void)
 {
-       static wchar_t buffer[512];
+       static char buffer[512];
        DWORD dw = GetLastError(); 
        DWORD source = 0;
 
        if (dw == 0)
        {
-               wcscpy(buffer, L"Unknown Error");
+               strcpy(buffer, "Unknown Error");
        }
-    else if (FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM |
+    else if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM |
                        FORMAT_MESSAGE_IGNORE_INSERTS, &source, dw, 0,
                        buffer, 512, NULL) == 0) 
        {
-                       wcscpy(buffer, L"Unknown Error");
+                       strcpy(buffer, "Unknown Error");
        }
 
        return buffer;
index 082eac8..f5341b9 100644 (file)
@@ -33,19 +33,19 @@ types::Function::ReturnValue sci_notify(types::typed_list &in, int _iRetCount, t
 
     if(in.size() != 1)
     {
-        ScierrorW(999, _W("%ls: Wrong number of input arguments: %d expected.\n"), L"notify" , 1);
+        Scierror(999, _("%s: Wrong number of input arguments: %d expected.\n"), "notify" , 1);
         return types::Function::Error;
     }
     if(in[0]->isString() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A string expected.\n"), L"notify", 1);
+        Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), "notify", 1);
         return types::Function::Error;
     }
     pString = in[0]->getAs<types::String>();
 
     if(pString->isScalar() == FALSE)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d: A string expected.\n"), L"notify" , 1);
+        Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), "notify" , 1);
         return types::Function::Error;
     }
     wcsInput = pString->get(0);
@@ -57,7 +57,7 @@ types::Function::ReturnValue sci_notify(types::typed_list &in, int _iRetCount, t
     }
     catch(const GiwsException::JniException & e)
     {
-        ScierrorW(999, _W("%ls: A Java exception arisen:\n%s"), L"notify", e.whatStr().c_str());
+        Scierror(999, _("%s: A Java exception arisen:\n%s"), "notify", e.whatStr().c_str());
         FREE(strInput);
         return types::Function::Error;
     }
index adf79e1..1a2312a 100644 (file)
@@ -136,14 +136,15 @@ int checkInputArgument(void* _pvCtx, int _iMin, int _iMax)
     {
         return 1;
     }
-    
+
     if (_iMin == _iMax)
-    {/* No optional argument */
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), pStr->m_pstName, _iMax);
+    {
+        /* No optional argument */
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), pStr->m_pstName, _iMax);
     }
     else
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), pStr->m_pstName, _iMin, _iMax);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), pStr->m_pstName, _iMin, _iMax);
     }
     return 0;
 }
index adc7497..43c387b 100644 (file)
@@ -43,7 +43,7 @@ int getOptionals(void* _pvCtx, char* pstFuncName, rhs_opts opts[])
 
         if (index < 0)
         {
-            sciprintW(_W("%ls: Unrecognized optional arguments %ls.\n"), pStr->m_pstName, opt[i].first.c_str());
+            sciprint(_("%ls: Unrecognized optional arguments %ls.\n"), pStr->m_pstName, opt[i].first.c_str());
             printOptionalNames(_pvCtx, opts);
             return 0;
         }
index 460676d..0009362 100644 (file)
     <Library Include="..\..\bin\libintl.lib" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\libs\MALLOC\MALLOC.vcxproj">
+      <Project>{6a84ad8c-ba18-4a3f-9c72-ec3df0939e9e}</Project>
+    </ProjectReference>
     <ProjectReference Include="..\api_scilab\api_scilab.vcxproj">
       <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index fce3f28..2a99066 100644 (file)
@@ -31,7 +31,7 @@ types::Function::ReturnValue sci_bool2s(types::typed_list &in, int _iRetCount, t
     types::InternalType* pOut = NULL;
     if (in.size() != 1)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"bool2s", 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "bool2s", 1);
         return types::Function::Error;
     }
 
index 577aa3a..7465d35 100644 (file)
@@ -33,7 +33,7 @@ types::Function::ReturnValue sci_find(types::typed_list &in, int _iRetCount, typ
     int iMax = -1;
     if(in.size() > 2)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"find", 1, 2);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "find", 1, 2);
         return types::Function::Error;
     }
 
@@ -41,7 +41,7 @@ types::Function::ReturnValue sci_find(types::typed_list &in, int _iRetCount, typ
     {
         if(in[1]->isDouble() == false || in[1]->getAs<types::Double>()->isScalar() == false || in[1]->getAs<types::Double>()->get(0) <= 0)
         {
-            ScierrorW(999, _W("%ls:  Wrong type for input argument #%d: Scalar positive integer expected.\n"), L"find", 2);
+            Scierror(999, _("%s:  Wrong type for input argument #%d: Scalar positive integer expected.\n"), "find", 2);
             return types::Function::Error;
         }
 
index 083e8e5..671d9e8 100644 (file)
     <Library Include="..\..\..\..\bin\libintl.lib" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\..\..\libs\MALLOC\MALLOC.vcxproj">
+      <Project>{6a84ad8c-ba18-4a3f-9c72-ec3df0939e9e}</Project>
+    </ProjectReference>
     <ProjectReference Include="..\..\..\..\tools\Dumpexts\Dumpexts.vcxproj">
       <Project>{3170e4c2-1173-4264-a222-7ee8ccb3ddf7}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
index bfe0ab8..4bfc4cc 100644 (file)
@@ -37,26 +37,26 @@ types::Function::ReturnValue sci_clc(types::typed_list &in, int _iRetCount, type
     {
         if((in[0]->isDouble() == false) || !in[0]->getAs<types::Double>()->isScalar())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A double scalar expected.\n"), L"clc", 1);
+            Scierror(999, _("%s: Wrong type for input argument #%d: A double scalar expected.\n"), "clc", 1);
             return types::Function::Error;
         }
         nblines = (int)in[0]->getAs<types::Double>()->get(0);
         if(nblines < 0)
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d: A positive double expected\n"), L"clc", 1);
+            Scierror(999, _("%s: Wrong value for input argument #%d: A positive double expected\n"), "clc", 1);
             return types::Function::Error;
         }
     }
     else
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"clc", 0, 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "clc", 0, 1);
         return types::Function::Error;
     }
 
     res = clc(nblines);
     if (!res)
     {
-        ScierrorW(999, _W("%ls: This feature has not been implemented in this mode.\n"), L"clc");
+        Scierror(999, _("%s: This feature has not been implemented in this mode.\n"), "clc");
         return types::Function::Error;
     }
 
index 800dd95..91e12fc 100644 (file)
@@ -34,7 +34,7 @@ types::Function::ReturnValue sci_iswaitingforinput(types::typed_list &in, int _i
     } 
     else 
     {
-        ScierrorW(999, _W("%ls: Not implemented in this mode.\n"), L"iswaitingforinput");
+        Scierror(999, _("%s: Not implemented in this mode.\n"), "iswaitingforinput");
         return types::Function::Error;
     }
 
index ebd5955..fa47dbd 100644 (file)
@@ -27,7 +27,7 @@ types::Function::ReturnValue sci_lines(types::typed_list &in, int _iRetCount, ty
 {
     if(in.size() > 2)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"lines", 0, 2);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "lines", 0, 2);
         return types::Function::Error;
     }
 
@@ -45,7 +45,7 @@ types::Function::ReturnValue sci_lines(types::typed_list &in, int _iRetCount, ty
     {
         if((in[1]->isDouble() == false) || !in[1]->getAs<types::Double>()->isScalar())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A scalar expected.\n"), L"lines", 2);
+            Scierror(999, _("%s: Wrong type for input argument #%d: A scalar expected.\n"), "lines", 2);
             return types::Function::Error;
         }
                ConfigVariable::setConsoleWidth((int)in[1]->getAs<types::Double>()->get(0));
@@ -53,7 +53,7 @@ types::Function::ReturnValue sci_lines(types::typed_list &in, int _iRetCount, ty
 
     if((in[0]->isDouble() == false) || !in[0]->getAs<types::Double>()->isScalar())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A scalar expected.\n"), L"lines", 1);
+        Scierror(999, _("%s: Wrong type for input argument #%d: A scalar expected.\n"), "lines", 1);
         return types::Function::Error;
     }
 
index 4804d28..7f0a3d8 100644 (file)
@@ -31,7 +31,7 @@ types::Function::ReturnValue sci_prompt(types::typed_list &in, int _iRetCount, t
 
     if (in.size() > 1)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"prompt", 0, 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "prompt", 0, 1);
         return types::Function::Error;
     }
 
@@ -39,7 +39,7 @@ types::Function::ReturnValue sci_prompt(types::typed_list &in, int _iRetCount, t
     {
         if (_iRetCount > 2)
         {
-            ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d to %d expected.\n"), L"prompt", 1, 2);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d to %d expected.\n"), "prompt", 1, 2);
             return types::Function::Error;
         }
 
@@ -56,13 +56,13 @@ types::Function::ReturnValue sci_prompt(types::typed_list &in, int _iRetCount, t
     {
         if (_iRetCount > 1)
         {
-            ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"prompt", 1);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "prompt", 1);
             return types::Function::Error;
         }
 
         if ((in[0]->isString() == false) || !in[0]->getAs<types::String>()->isScalar())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A string expected.\n"), L"prompt", 1);
+            Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), "prompt", 1);
             return types::Function::Error;
         }
         SetTemporaryPrompt(wide_string_to_UTF8(in[0]->getAs<types::String>()->get(0)));
index 9d368c8..79f962d 100644 (file)
@@ -26,12 +26,12 @@ types::Function::ReturnValue sci_tohome(types::typed_list &in, int _iRetCount, t
 {
     if(in.size() != 0)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"prompt", 0);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "prompt", 0);
         return types::Function::Error;
     }
     if (!tohome())
     {
-        ScierrorW(999, _W("%ls: This feature has not been implemented in this mode.\n"), L"prompt");
+        Scierror(999, _("%s: This feature has not been implemented in this mode.\n"), "prompt");
         return types::Function::Error;
     }
 
index 2ad67f3..b03c5ad 100644 (file)
@@ -29,13 +29,13 @@ types::Function::ReturnValue sci_abort(types::typed_list &in, int _iRetCount, ty
 {
     if(in.size() != 0)
     {
-        ScierrorW(77,_W("%ls: Wrong number of input argument(s): %d expected.\n"), L"abort", 0);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "abort", 0);
         return types::Function::Error;
     }
 
     if(_iRetCount > 1)
     {
-        ScierrorW(78,_W("%ls: Wrong number of output argument(s): %d to %d expected.\n"), L"abort", 0, 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d to %d expected.\n"), "abort", 0, 1);
         return types::Function::Error;
     }
 
index efa574a..d77a1dc 100644 (file)
@@ -18,6 +18,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "charEncoding.h"
@@ -31,13 +32,13 @@ Function::ReturnValue sci_error(types::typed_list &in, int _iRetCount, types::ty
 {
     if (_iRetCount != 1)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"error", 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "error", 1);
         return Function::Error;
     }
 
     if (in.size() != 1 && in.size() != 2)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"error", 1, 2);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "error", 1, 2);
         return Function::Error;
     }
 
@@ -46,7 +47,7 @@ Function::ReturnValue sci_error(types::typed_list &in, int _iRetCount, types::ty
         // RHS == 1
         if (in[0]->isString() == false && in[0]->isDouble() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d.\n"), L"error", 1);
+            Scierror(999, _("%s: Wrong type for input argument #%d.\n"), "error", 1);
             return Function::Error;
         }
 
@@ -54,12 +55,14 @@ Function::ReturnValue sci_error(types::typed_list &in, int _iRetCount, types::ty
         {
             if (in[0]->getAs<types::String>()->getSize() == 1)
             {
-                ScierrorW(DEFAULT_ERROR_CODE, L"%ls", in[0]->getAs<types::String>()->get(0));
+                char* pstError = wide_string_to_UTF8(in[0]->getAs<types::String>()->get(0));
+                Scierror(DEFAULT_ERROR_CODE, "%s", pstError);
+                FREE(pstError);
                 return Function::Error;
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong size for input argument #%d: A string expected.\n"), L"error", 1);
+                Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), "error", 1);
                 return Function::Error;
             }
         }
@@ -67,21 +70,21 @@ Function::ReturnValue sci_error(types::typed_list &in, int _iRetCount, types::ty
         {
             if (in[0]->getAs<Double>()->getSize() != 1)
             {
-                ScierrorW(999, _W("%ls: Wrong size for input argument #%d: A scalar expected.\n"), L"error", 1);
+                Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), "error", 1);
                 return Function::Error;
             }
 
             if (in[0]->getAs<Double>()->getReal(0, 0) <= 0 || in[0]->getAs<Double>()->isComplex())
             {
-                ScierrorW(999, _W("%ls: Wrong value for input argument #%d: Value greater than 0 expected.\n"), L"error", 1);
+                Scierror(999, _("%s: Wrong value for input argument #%d: Value greater than 0 expected.\n"), "error", 1);
                 return Function::Error;
             }
 
 
             // FIXME : Find a way to retrieve error message from given ID.
-            ScierrorW((int)in[0]->getAs<Double>()->getReal(0, 0),
-                      L"[Error %d]: message given by ID... Should avoid this !!",
-                      (int) in[0]->getAs<Double>()->getReal(0, 0));
+            Scierror((int)in[0]->getAs<Double>()->getReal(0, 0),
+                     "[Error %d]: message given by ID... Should avoid this !!",
+                     (int) in[0]->getAs<Double>()->getReal(0, 0));
             return Function::Error;
         }
 
@@ -91,36 +94,37 @@ Function::ReturnValue sci_error(types::typed_list &in, int _iRetCount, types::ty
         // RHS = 2 according to previous check.
         if (in[0]->isDouble() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d.\n"), L"error", 1);
+            Scierror(999, _("%s: Wrong type for input argument #%d.\n"), "error", 1);
             return Function::Error;
         }
 
         if (in[1]->isString() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d.\n"), L"error", 2);
+            Scierror(999, _("%s: Wrong type for input argument #%d.\n"), "error", 2);
             return Function::Error;
         }
 
         if (in[0]->getAs<Double>()->getSize() != 1)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d: A scalar expected.\n"), L"error", 1);
+            Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), "error", 1);
             return Function::Error;
         }
 
         if (in[1]->getAs<types::String>()->getSize() != 1)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d: A scalar expected.\n"), L"error", 2);
+            Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), "error", 2);
             return Function::Error;
         }
 
         if (in[0]->getAs<Double>()->getReal(0, 0) <= 0 || in[0]->getAs<Double>()->isComplex())
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d: Value greater than 0 expected.\n"), L"error", 1);
+            Scierror(999, _("%s: Wrong value for input argument #%d: Value greater than 0 expected.\n"), "error", 1);
             return Function::Error;
         }
 
-        ScierrorW((int)in[0]->getAs<Double>()->getReal(0, 0),
-                  in[1]->getAs<types::String>()->get(0));
+        char* pst = wide_string_to_UTF8(in[1]->getAs<types::String>()->get(0));
+        Scierror((int)in[0]->getAs<Double>()->getReal(0, 0), "%s", pst);
+        FREE(pst);
         return Function::Error;
 
     }
index c535629..880ca64 100644 (file)
@@ -25,6 +25,8 @@ extern "C"
 /*--------------------------------------------------------------------------*/
 #define e_type_format L"e"
 #define v_type_format L"v"
+#define _e_type_format "e"
+#define _v_type_format "v"
 #define format_MIN 2
 #define format_MAX 25
 #define format_e_MIN 8
@@ -38,13 +40,13 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
 
     if(in.size() > 2)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected."), L"format", 0, 2);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected."), "format", 0, 2);
         return types::Function::Error;
     }
 
     if(_iRetCount != 1)
     {
-        ScierrorW(78,_W("%ls: Wrong number of output argument(s): %d to %d expected.\n"), L"format", 0, 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d to %d expected.\n"), "format", 0, 1);
         return types::Function::Error;
     }
 
@@ -61,7 +63,7 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
         types::String *pS = in[0]->getAs<types::String>();
         if(pS->isScalar() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d: '%ls' or '%ls' expected.\n"), L"format", 1, e_type_format, v_type_format);
+            Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"), "format", 1, _e_type_format, _v_type_format);
             return types::Function::Error;
         }
 
@@ -76,7 +78,7 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d: '%ls' or '%ls' expected.\n"), L"format", 1, e_type_format, v_type_format);
+            Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"), "format", 1, _e_type_format, _v_type_format);
             return types::Function::Error;
         }
     }
@@ -93,13 +95,13 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
             iType = (int)pD->get(1);
             if(iType != 0 && iType != 1)
             {
-                ScierrorW(999, _W("%ls: Wrong value for input argument #%d.\n"), L"format", 1);
+                Scierror(999, _("%s: Wrong value for input argument #%d.\n"), "format", 1);
                 return types::Function::Error;
             }
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d.\n"), L"format", 1);
+            Scierror(999, _("%s: Wrong size for input argument #%d.\n"), "format", 1);
             return types::Function::Error;
         }
     }
@@ -108,7 +110,7 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
         //first argument
         if(in[0]->isString() == false && in[0]->isDouble() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A string expected."), L"format", 1);
+            Scierror(999, _("%s: Wrong type for input argument #%d: A string expected."), "format", 1);
             return types::Function::Error;
         }
 
@@ -117,7 +119,7 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
             types::String *pS = in[0]->getAs<types::String>();
             if(pS->isScalar() == false)
             {
-                ScierrorW(999, _W("%ls: Wrong value for input argument #%d: '%ls' or '%ls' expected.\n"), L"format", 1, e_type_format, v_type_format);
+                Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"), "format", 1, _e_type_format, _v_type_format);
                 return types::Function::Error;
             }
 
@@ -132,7 +134,7 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong value for input argument #%d: '%ls' or '%ls' expected.\n"), L"format", 1, e_type_format, v_type_format);
+                Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"), "format", 1, _e_type_format, _v_type_format);
                 return types::Function::Error;
             }
 
@@ -140,14 +142,14 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
             //second argument
             if(in[1]->isDouble() == false)
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d: An integer expected."), L"format", 2);
+                Scierror(999, _("%s: Wrong type for input argument #%d: An integer expected."), "format", 2);
                 return types::Function::Error;
             }
 
             types::Double* pD = in[1]->getAs<types::Double>();
             if(pD->isScalar() == false)
             {//set length
-                ScierrorW(999, _W("%ls: Wrong size for input argument #%d: A scalar expected.\n"), L"format", 2);
+                Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), "format", 2);
                 return types::Function::Error;
             }
 
@@ -158,7 +160,7 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
             types::Double* pD = in[0]->getAs<types::Double>();
             if(pD->isScalar() == false)
             {//set length
-                ScierrorW(999, _W("%ls: Wrong size for input argument #%d: A scalar expected.\n"), L"format", 1);
+                Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), "format", 1);
                 return types::Function::Error;
             }
 
@@ -166,14 +168,14 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
 
             if(in[1]->isString() == false)
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d: A string expected."), L"format", 2);
+                Scierror(999, _("%s: Wrong type for input argument #%d: A string expected."), "format", 2);
                 return types::Function::Error;
             }
 
             types::String *pS = in[1]->getAs<types::String>();
             if(pS->isScalar() == false)
             {
-                ScierrorW(999, _W("%ls: Wrong value for input argument #%d: '%ls' or '%ls' expected.\n"), L"format", 2, e_type_format, v_type_format);
+                Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"), "format", 2, _e_type_format, _v_type_format);
                 return types::Function::Error;
             }
 
@@ -188,14 +190,14 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong value for input argument #%d: '%ls' or '%ls' expected.\n"), L"format", 2, e_type_format, v_type_format);
+                Scierror(999, _("%s: Wrong value for input argument #%d: '%s' or '%s' expected.\n"), "format", 2, _e_type_format, _v_type_format);
                 return types::Function::Error;
             }
         }
     }
     else
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d: a String or Integer expected.\n"), L"format", 1);
+        Scierror(999, _("%s: Wrong type for input argument #%d: a String or Integer expected.\n"), "format", 1);
         return types::Function::Error;
     }
 
@@ -237,7 +239,7 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
     {
         if(iLen < format_MIN || iLen > format_MAX)
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d: Must be in the interval [%d, %d].\n"), L"format", 2, format_MIN, format_MAX);
+            Scierror(999, _("%s: Wrong value for input argument #%d: Must be in the interval [%d, %d].\n"), "format", 2, format_MIN, format_MAX);
             return types::Function::Error;
         }
         
@@ -248,7 +250,7 @@ types::Function::ReturnValue sci_format(types::typed_list &in, int _iRetCount, t
     {//iType == 0
         if(iLen < format_e_MIN || iLen > format_MAX)
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d: Must be in the interval [%d, %d].\n"), L"format", 2, format_e_MIN, format_MAX);
+            Scierror(999, _("%s: Wrong value for input argument #%d: Must be in the interval [%d, %d].\n"), "format", 2, format_e_MIN, format_MAX);
             return types::Function::Error;
         }
         
index c6f7589..ea697c3 100644 (file)
@@ -34,25 +34,25 @@ Function::ReturnValue sci_getmd5(types::typed_list &in, int _iRetCount, types::t
 
     if(_iRetCount != 1)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"getmd5", 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "getmd5", 1);
         return Function::Error;
     }
 
     if(in.size() != 1 && in.size() != 2)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"getmd5", 1, 2);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "getmd5", 1, 2);
         return Function::Error;
     }
 
     if(in[0]->isString() == false)
     {
-        ScierrorW(999,_W("%ls: Wrong type of input argument #%d: String expected.\n"), L"getmd5", 1);
+        Scierror(999, _("%s: Wrong type of input argument #%d: String expected.\n"), "getmd5", 1);
         return Function::Error;
     }
 
     if(in.size() == 2 && in[1]->isString() == false)
     {
-        ScierrorW(999,_W("%ls: Wrong type of input argument #%d: String expected.\n"), L"getmd5", 2);
+        Scierror(999, _("%s: Wrong type of input argument #%d: String expected.\n"), "getmd5", 2);
         return Function::Error;
     }
 
@@ -64,7 +64,7 @@ Function::ReturnValue sci_getmd5(types::typed_list &in, int _iRetCount, types::t
         }
         else
         {
-            ScierrorW(999,_W("%ls: Wrong value for input argument #%d: \"%ls\" expected.\n"), L"getmd5", 2, L"string");
+            Scierror(999, _("%s: Wrong value for input argument #%d: \"%s\" expected.\n"), "getmd5", 2, "string");
             return Function::Error;
         }
     }
@@ -92,7 +92,9 @@ Function::ReturnValue sci_getmd5(types::typed_list &in, int _iRetCount, types::t
             /* bug 4469 */
             if (isdirW(real_path))
             {
-                ScierrorW(999,_W("%ls: The file %ls does not exist.\n"), L"getmd5", real_path);
+                char* pstPath = wide_string_to_UTF8(real_path);
+                Scierror(999, _("%s: The file %s does not exist.\n"), "getmd5", pstPath);
+                FREE(pstPath);
                 delete pOutput;
                 delete real_path;
                 return Function::Error;
@@ -107,7 +109,9 @@ Function::ReturnValue sci_getmd5(types::typed_list &in, int _iRetCount, types::t
             }
             else
             {
-                ScierrorW(999, _W("%ls: The file %ls does not exist.\n"), L"getmd5", real_path);
+                char* pstPath = wide_string_to_UTF8(real_path);
+                Scierror(999, _("%s: The file %s does not exist.\n"), "getmd5", pstPath);
+                FREE(pstPath);
                 delete pOutput;
                 FREE(real_path);
                 return Function::Error;
index 8264a96..8dbebb0 100644 (file)
@@ -40,7 +40,7 @@ Function::ReturnValue sci_getversion(types::typed_list &in, int _iRetCount, type
 {
     if(in.size() > 2)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"getversion", 0, 2);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "getversion", 0, 2);
         return Function::Error;
     }
 
@@ -48,7 +48,7 @@ Function::ReturnValue sci_getversion(types::typed_list &in, int _iRetCount, type
     {
         if(_iRetCount != 1 && _iRetCount != 2)
         {
-            ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d to %d expected.\n"), L"getveresion", 1, 2);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d to %d expected.\n"), "getveresion", 1, 2);
             return Function::Error;
         }
 
@@ -72,13 +72,13 @@ Function::ReturnValue sci_getversion(types::typed_list &in, int _iRetCount, type
     {
         if(in[0]->isString() == false || in[0]->getAs<types::String>()->isScalar() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d: String expected.\n"), L"getversion", 1);
+            Scierror(999, _("%s: Wrong size for input argument #%d: String expected.\n"), "getversion", 1);
             return Function::Error;
         }
 
         if(_iRetCount != 1)
         {
-             ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"getveresion", 1);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "getveresion", 1);
             return Function::Error;
        }
 
@@ -89,7 +89,7 @@ Function::ReturnValue sci_getversion(types::typed_list &in, int _iRetCount, type
             int *version = getModuleVersion(pwstModule, &versionSize);
             if(version == NULL)
             {
-                ScierrorW(999, _W("%ls: Wrong file version.xml %s.\n"), L"getversion", pwstModule);
+                Scierror(999, _("%s: Wrong file version.xml %s.\n"), "getversion", pwstModule);
                 return Function::Error;
             }
 
@@ -103,13 +103,13 @@ Function::ReturnValue sci_getversion(types::typed_list &in, int _iRetCount, type
     {
         if(in[0]->isString() == false || in[0]->getAs<types::String>()->getSize() != 1)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d: String expected.\n"), L"getversion", 1);
+            Scierror(999, _("%s: Wrong size for input argument #%d: String expected.\n"), "getversion", 1);
             return Function::Error;
         }
 
         if(in[1]->isString() == false || in[1]->getAs<types::String>()->getSize() != 1)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d: String expected.\n"), L"getversion", 2);
+            Scierror(999, _("%s: Wrong size for input argument #%d: String expected.\n"), "getversion", 2);
             return Function::Error;
         }
 
index 41de17a..3eff96e 100644 (file)
@@ -29,14 +29,14 @@ types::Function::ReturnValue sci_ieee(types::typed_list &in, int _iRetCount, typ
     // *** check number of input args. ***
     if (in.size() > 1)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"ieee", 0, 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "ieee", 0, 1);
         return types::Function::Error;
     }
 
     // *** check number of output args. ***
     if (_iRetCount > 1)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"ieee", 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "ieee", 1);
         return types::Function::Error;
     }
 
@@ -49,7 +49,7 @@ types::Function::ReturnValue sci_ieee(types::typed_list &in, int _iRetCount, typ
     {
         if (in[0]->isDouble() == false || in[0]->getAs<types::Double>()->isScalar() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"ieee", 1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "ieee", 1);
             return types::Function::Error;
         }
 
@@ -57,7 +57,7 @@ types::Function::ReturnValue sci_ieee(types::typed_list &in, int _iRetCount, typ
 
         if (pdblIeee < 0 || pdblIeee > 2)
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d : 0, 1 or 2 expected.\n"), L"ieee", 1);
+            Scierror(999, _("%s: Wrong value for input argument #%d : 0, 1 or 2 expected.\n"), "ieee", 1);
             return types::Function::Error;
         }
 
index 998f56e..d1ad940 100644 (file)
@@ -31,13 +31,13 @@ types::Function::ReturnValue sci_lasterror(types::typed_list &in, int _iRetCount
     bool bClearError = true;
     if(in.size() > 1)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected."), L"lasterror", 0, 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected."), "lasterror", 0, 1);
         return Function::Error;
     }
 
     if(_iRetCount > 4)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d to %d expected.\n"), L"lasterror", 1, 4);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d to %d expected.\n"), "lasterror", 1, 4);
         return Function::Error;
     }
 
@@ -45,7 +45,7 @@ types::Function::ReturnValue sci_lasterror(types::typed_list &in, int _iRetCount
     {
         if(in[0]->isBool() == false || in[0]->getAs<types::Bool>()->isScalar() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d: Boolean vector expected.\n"), L"lasterror", 1);
+            Scierror(999, _("%s: Wrong type for input argument #%d: Boolean vector expected.\n"), "lasterror", 1);
             return Function::Error;
         }
         bClearError = in[0]->getAs<types::Bool>()->get()[0] == 1; //convert int to bool
index 66f2729..bb14147 100644 (file)
@@ -29,7 +29,7 @@ types::Function::ReturnValue sci_pause(types::typed_list &in, int _iRetCount, ty
 {
     if(in.size() != 0)
     {
-        ScierrorW(77,_W("%ls: Wrong number of input argument(s): %d expected.\n"), L"pause", 0);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "pause", 0);
         return types::Function::Error;
     }
 
index be3e9b4..9bf803e 100644 (file)
@@ -29,13 +29,13 @@ types::Function::ReturnValue sci_resume(types::typed_list &in, int _iRetCount, t
 {
     if(in.size() != 0)
     {
-        ScierrorW(77,_W("%ls: Wrong number of input argument(s): %d expected.\n"), L"resume", 0);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "resume", 0);
         return types::Function::Error;
     }
 
     if(_iRetCount > 1)
     {
-        ScierrorW(78,_W("%ls: Wrong number of output argument(s): %d to %d expected.\n"), L"resume", 0, 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d to %d expected.\n"), "resume", 0, 1);
         return types::Function::Error;
     }
 
index 8503f42..0d3bb32 100644 (file)
@@ -29,7 +29,7 @@ types::Function::ReturnValue sci_sciargs(types::typed_list &in, int _iRetCount,
     int iCount = 0;
     if(in.size() != 0)
     {
-        ScierrorW(77, _W("%s: Wrong number of input argument(s): %d expected.\n"), L"sciargs", 0);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "sciargs", 0);
         return types::Function::Error;
     }
 
index d4f89d1..342058d 100644 (file)
@@ -27,13 +27,13 @@ Function::ReturnValue sci_stacksize(types::typed_list &in, int _iRetCount, types
 {
     if (in.size() > 1)
     {
-        ScierrorW(77,_W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"stacksize", 0, 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "stacksize", 0, 1);
         return types::Function::Error;
     }
 
     if(_iRetCount > 1)
     {
-        ScierrorW(78,_W("%ls: Wrong number of output argument(s): %d to %d expected.\n"), L"stacksize", 0, 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d to %d expected.\n"), "stacksize", 0, 1);
         return types::Function::Error;
     }
 
index 8970df7..e015a8f 100644 (file)
@@ -31,19 +31,19 @@ types::Function::ReturnValue sci_warning(types::typed_list &in, int _iRetCount,
 {
     if(in.size() != 1)
     {
-        ScierrorW(77,_W("%ls: Wrong number of input argument(s): %d expected.\n"), L"warning", 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "warning", 1);
         return Function::Error;
     }
 
     if(_iRetCount != 1)
     {
-        ScierrorW(78,_W("%ls: Wrong number of output argument(s): %d expected.\n"), L"warning", 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "warning", 1);
         return Function::Error;
     }
 
     if(in[0]->isString() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d: String expected.\n"), L"warning", 1);
+        Scierror(999, _("%s: Wrong type for input argument #%d: String expected.\n"), "warning", 1);
         return Function::Error;
     }
 
@@ -82,9 +82,9 @@ types::Function::ReturnValue sci_warning(types::typed_list &in, int _iRetCount,
     {
         for(int i = 0; i < psInput->getSize() ; ++i)
         {
-            sciprintW(_W("WARNING: %ls\n"), psInput->get(i));
+            sciprint(_("WARNING: %ls\n"), psInput->get(i));
         }
-        sciprintW(L"\n");
+        sciprint("\n");
     }
 
 
index 8210a75..e88e6a4 100644 (file)
@@ -29,13 +29,13 @@ types::Function::ReturnValue sci_with_module(types::typed_list &in, int _iRetCou
 {
     if(in.size() != 1)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"with_module", 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "with_module", 1);
         return types::Function::Error;
     }
 
     if(in[0]->isString() == false || in[0]->getAs<types::String>()->getSize() != 1)
     {
-               ScierrorW(999, _W("%ls: Wrong type for input argument #%d: String expected.\n"), L"with_module", 1);
+               Scierror(999, _("%s: Wrong type for input argument #%d: String expected.\n"), "with_module", 1);
         return types::Function::Error;
     }
 
index 6477f4f..e731517 100644 (file)
@@ -21,6 +21,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "scifunctions.h"
@@ -51,14 +52,14 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 // *** check the minimal number of input args. ***
     if(in.size() != 15)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"bvode", 15);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "bvode", 15);
         return types::Function::Error;
     }
 
 // *** check number of output args ***
     if(_iRetCount > 1)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"bvode", 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "bvode", 1);
         return types::Function::Error;
     }
 
@@ -67,7 +68,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // xpoints
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "bvode", iPos+1);
         return types::Function::Error;
     }
 
@@ -77,7 +78,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // ncomp
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "bvode", iPos+1);
         return types::Function::Error;
     }
 
@@ -85,7 +86,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(pDblN->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "bvode", iPos+1);
         return types::Function::Error;
     }
 
@@ -93,7 +94,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(ncomp > 20)
     {
-        ScierrorW(999, _W("%ls: Wrong value for input argument #%d : Value at most 20 expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong value for input argument #%d : Value at most 20 expected.\n"), "bvode", iPos+1);
         return types::Function::Error;
     }
     iPos++;
@@ -101,7 +102,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // m
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "bvode", iPos+1);
         return types::Function::Error;
     }
 
@@ -109,7 +110,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(pDblM->getSize() != ncomp)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A vector of size %d (N) expected.\n"), L"bvode", iPos+1, ncomp);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A vector of size %d (N) expected.\n"), "bvode", iPos+1, ncomp);
         return types::Function::Error;
     }
 
@@ -123,7 +124,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(sumM > 40)
     {
-        ScierrorW(999, _W("%ls: Wrong value for input argument #%d : Sum of m must be less than 40.\n"), L"bvode", iPos+1, sumM);
+        Scierror(999, _("%s: Wrong value for input argument #%d : Sum of m must be less than 40.\n"), "bvode", iPos+1, sumM);
         free(M);
         return types::Function::Error;
     }
@@ -133,7 +134,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // aleft
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -142,7 +143,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(pDblXLow->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -153,7 +154,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // aright
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -162,7 +163,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(pDblXUp->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -173,7 +174,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // zeta
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -184,7 +185,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     {
         if(pDblZeta->get(i) > pDblZeta->get(i+1))
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d : zeta(j) lower or equal to zeta(j+1) expected.\n"), L"bvode", iPos+1);
+            Scierror(999, _("%s: Wrong value for input argument #%d : zeta(j) lower or equal to zeta(j+1) expected.\n"), "bvode", iPos+1);
             free(M);
             return types::Function::Error;
         }
@@ -195,7 +196,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // ipar
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -204,7 +205,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(pDblIpar->getSize() != 11)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A vector of size 11 expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A vector of size 11 expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -229,7 +230,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // ltol
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -238,7 +239,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(pDblLtol->getSize() != ipar[3])
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : An array of size %d (ipar(4)) expected.\n"), L"bvode", iPos+1, ipar[3]);
+        Scierror(999, _("%s: Wrong size for input argument #%d : An array of size %d (ipar(4)) expected.\n"), "bvode", iPos+1, ipar[3]);
         free(M);
         return types::Function::Error;
     }
@@ -248,7 +249,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // tol
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -257,7 +258,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(pDblTol->getSize() != ipar[3])
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : An array of size %d (ipar(4)) expected.\n"), L"bvode", iPos+1, ipar[3]);
+        Scierror(999, _("%s: Wrong size for input argument #%d : An array of size %d (ipar(4)) expected.\n"), "bvode", iPos+1, ipar[3]);
         free(M);
         return types::Function::Error;
     }
@@ -267,7 +268,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     // fixpnt
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"bvode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "bvode", iPos+1);
         free(M);
         return types::Function::Error;
     }
@@ -276,7 +277,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
     if(pDblFixpnt->getSize() != ipar[10] && ipar[10] != 0)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : An array of size %d (ipar(11)) expected.\n"), L"bvode", iPos+1, ipar[10]);
+        Scierror(999, _("%s: Wrong size for input argument #%d : An array of size %d (ipar(11)) expected.\n"), "bvode", iPos+1, ipar[10]);
         free(M);
         return types::Function::Error;
     }
@@ -342,7 +343,9 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
             if(bOK == false)
             {
-                ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"bvode", pStr->get(0));
+                char* pst = wide_string_to_UTF8(pStr->get(0));
+                Scierror(50, _("%s: Subroutine not found: %s\n"), "bvode", pst);
+                FREE(pst);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(M);
                 return types::Function::Error;
@@ -354,7 +357,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
 
             if(pList->getSize() == 0)
             {
-                ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"bvode", i+1, L"(string empty)");
+                Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "bvode", i+1, "(string empty)");
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(M);
                 return types::Function::Error;
@@ -405,7 +408,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), L"bvode", i+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), "bvode", i+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(M);
                 return types::Function::Error;
@@ -413,7 +416,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"bvode", i+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "bvode", i+1);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(M);
             return types::Function::Error;
@@ -434,7 +437,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     ret = bvode_fsub(&x, z, d);
     if(ret == 0)
     {
-        ScierrorW(50,_W("%ls: Argument #%d : Execution of %ls function failed.\n"), L"bvode", 11, L"fsub");
+        Scierror(50, _("%s: Argument #%d : Execution of %s function failed.\n"), "bvode", 11, "fsub");
         free(d);
         free(z);
         DifferentialEquation::removeDifferentialEquationFunctions();
@@ -445,7 +448,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     ret = bvode_dfsub(&x, z, d);
     if(ret == 0)
     {
-        ScierrorW(50,_W("%ls: Argument #%d : Execution of %ls function failed.\n"), L"bvode", 12, L"dfsub");
+        Scierror(50, _("%s: Argument #%d : Execution of %s function failed.\n"), "bvode", 12, "dfsub");
         free(d);
         free(z);
         DifferentialEquation::removeDifferentialEquationFunctions();
@@ -456,7 +459,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     ret = bvode_gsub(&i, z, d);
     if(ret == 0)
     {
-        ScierrorW(50,_W("%ls: Argument #%d : Execution of %ls function failed.\n"), L"bvode", 13, L"gsub");
+        Scierror(50, _("%s: Argument #%d : Execution of %s function failed.\n"), "bvode", 13, "gsub");
         free(d);
         free(z);
         DifferentialEquation::removeDifferentialEquationFunctions();
@@ -467,7 +470,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     ret = bvode_dgsub(&i, z, d);
     if(ret == 0)
     {
-        ScierrorW(50,_W("%ls: Argument #%d : Execution of %ls function failed.\n"), L"bvode", 14, L"dgsub");
+        Scierror(50, _("%s: Argument #%d : Execution of ls function failed.\n"), "bvode", 14, "dgsub");
         free(d);
         free(z);
         DifferentialEquation::removeDifferentialEquationFunctions();
@@ -478,7 +481,7 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     ret = bvode_guess(&x, z, d);
     if(ret == 0)
     {
-        ScierrorW(50,_W("%ls: Argument #%d : Execution of %ls function failed.\n"), L"bvode", 15, L"guess");
+        Scierror(50, _("%s: Argument #%d : Execution of %s function failed.\n"), "bvode", 15, "guess");
         free(d);
         free(z);
         DifferentialEquation::removeDifferentialEquationFunctions();
@@ -504,19 +507,19 @@ types::Function::ReturnValue sci_bvode(types::typed_list &in, int _iRetCount, ty
     {
         if(iflag == 0)
         {
-            ScierrorW(999, _W("%ls: The collocation matrix is singular.\n"), L"bvode");
+            Scierror(999, _("%s: The collocation matrix is singular.\n"), "bvode");
         }
         else if(iflag == -1)
         {
-            ScierrorW(999, _W("%ls: The expected no. of subintervals exceeds storage specifications.\n"), L"bvode");
+            Scierror(999, _("%s: The expected no. of subintervals exceeds storage specifications.\n"), "bvode");
         }
         else if(iflag == -2)
         {
-            ScierrorW(999, _W("%ls: The nonlinear iteration has not converged.\n"), L"bvode");
+            Scierror(999, _("%s: The nonlinear iteration has not converged.\n"), "bvode");
         }
         else if(iflag == -3)
         {
-            ScierrorW(999, _W("%ls: There is an input data error.\n"), L"bvode");
+            Scierror(999, _("%s: There is an input data error.\n"), "bvode");
         }
 
         free(iwork);
index 7e17f63..5bb54d4 100644 (file)
@@ -22,6 +22,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "scifunctions.h"
@@ -72,14 +73,14 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 // *** check the minimal number of input args. ***
     if(in.size() < 6 || in.size() > 11)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"dasrt", 6, 11);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "dasrt", 6, 11);
         return types::Function::Error;
     }
 
 // *** check number of output args ***
     if(_iRetCount != 3 && _iRetCount != 2)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d to %d expected.\n"), L"dasrt", 2, 3);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d to %d expected.\n"), "dasrt", 2, 3);
         return types::Function::Error;
     }
 
@@ -87,7 +88,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
     // x0 = [y0, yd0]
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"dasrt", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "dasrt", iPos+1);
         return types::Function::Error;
     }
 
@@ -95,13 +96,13 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
     if(pDblX0->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"dasrt", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "dasrt", iPos+1);
         return types::Function::Error;
     }
 
     if(pDblX0->getCols() > 2)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A real matrix with %d to %d colomn(s) expected.\n"), L"dasrt", iPos+1, 1, 2);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A real matrix with %d to %d colomn(s) expected.\n"), "dasrt", iPos+1, 1, 2);
         return types::Function::Error;
     }
 
@@ -114,7 +115,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"dasrt", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "dasrt", iPos+1);
         return types::Function::Error;
     }
 
@@ -122,7 +123,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
     if(pDblT0->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A scalar expected.\n"), L"dasrt", iPos+1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A scalar expected.\n"), "dasrt", iPos+1);
         return types::Function::Error;
     }
 
@@ -130,7 +131,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"dasrt", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "dasrt", iPos+1);
         return types::Function::Error;
     }
 
@@ -138,7 +139,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
     if(pDblT->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"dasrt", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "dasrt", iPos+1);
         return types::Function::Error;
     }
 
@@ -173,7 +174,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
                 pDblAtol = in[iPos]->getAs<types::Double>();
                 if(pDblAtol->getSize() != pDblX0->getRows() && pDblAtol->isScalar() == false)
                 {
-                    ScierrorW(267,_W("%ls: Wrong size for input argument #%d : A scalar or a matrix of size %d expected.\n"), L"dasrt", iPos+1, pDblX0->getRows());
+                    Scierror(267, _("%s: Wrong size for input argument #%d : A scalar or a matrix of size %d expected.\n"), "dasrt", iPos+1, pDblX0->getRows());
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -184,7 +185,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
                 pDblRtol = in[iPos]->getAs<types::Double>();
                 if(pDblAtol->getSize() != pDblRtol->getSize())
                 {
-                    ScierrorW(267,_W("%ls: Wrong size for input argument #%d : Atol and Rtol must have the same size.\n"), L"dasrt", iPos+1, pDblX0->getRows());
+                    Scierror(267, _("%s: Wrong size for input argument #%d : Atol and Rtol must have the same size.\n"), "dasrt", iPos+1, pDblX0->getRows());
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -195,7 +196,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
                 pDblNg = in[iPos]->getAs<types::Double>();
                 if(pDblNg->isScalar() == false)
                 {
-                    ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A scalar expected.\n"), L"dasrt", iPos+1);
+                    Scierror(999, _("%s: Wrong size for input argument #%d : A scalar expected.\n"), "dasrt", iPos+1);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -207,7 +208,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
                 pDblHd = in[iPos]->getAs<types::Double>();
                 if(in.size() != iPos+1)
                 {
-                    ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"dasrt", iPos+1);
+                    Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "dasrt", iPos+1);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -215,7 +216,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"dasrt", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "dasrt", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -241,7 +242,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix or a list expected.\n"), L"dasrt", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix or a list expected.\n"), "dasrt", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -269,7 +270,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix or a list expected.\n"), L"dasrt", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix or a list expected.\n"), "dasrt", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -277,7 +278,9 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
             if(bOK == false)
             {
-                ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"dasrt", pStr->get(0));
+                char* pst = wide_string_to_UTF8(pStr->get(0));
+                Scierror(50, _("%s: Subroutine not found: %s\n"), "dasrt", pst);
+                FREE(pst);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -289,7 +292,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
             if(pList->getSize() == 0)
             {
-                ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"dasrt", iPos+1, L"(string empty)");
+                Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "dasrt", iPos+1, "(string empty)");
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -297,7 +300,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
             if(bFuncF && bListInfo)
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"dasrt", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "dasrt", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -335,7 +338,9 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
                 if(bOK == false)
                 {
-                    ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"dasrt", iPos+1, pStr->get(0));
+                    char* pst = wide_string_to_UTF8(pStr->get(0));
+                    Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "dasrt", iPos+1, pst);
+                    FREE(pst);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -352,7 +357,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
                 {
                     if(pList->get(iter + 1)->isDouble() == false)
                     {
-                        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), L"dasrt", iPos+1, iter+1);
+                        Scierror(999, _("%s: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), "dasrt", iPos+1, iter+1);
                         DifferentialEquation::removeDifferentialEquationFunctions();
                         free(pdYdotData);free(pdYData);free(YSize);
                         return types::Function::Error;
@@ -413,7 +418,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
             {
                 if(pList->getSize() != 7)
                 {
-                    ScierrorW(267,_W("%ls: Wrong size for input argument #%d : A list of size %d expected.\n"), L"dasrt", iPos+1, 7);
+                    Scierror(267, _("%s: Wrong size for input argument #%d : A list of size %d expected.\n"), "dasrt", iPos+1, 7);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -425,11 +430,11 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
                     {
                         if(i == 1 || i == 5 || i == 6)
                         {
-                            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : Element %d in the info list must be a scalar.\n"), L"dasrt", iPos+1, i);
+                            Scierror(999, _("%s: Wrong type for input argument #%d : Element %d in the info list must be a scalar.\n"), "dasrt", iPos+1, i);
                         }
                         else
                         {
-                            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : Element %d in the info list must be a matrix.\n"), L"dasrt", iPos+1, i);
+                            Scierror(999, _("%s: Wrong type for input argument #%d : Element %d in the info list must be a matrix.\n"), "dasrt", iPos+1, i);
                         }
                         DifferentialEquation::removeDifferentialEquationFunctions();
                         free(pdYdotData);free(pdYData);free(YSize);
@@ -457,7 +462,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
                 }
                 else if(pDblTemp->getSize() != 0)
                 {
-                    ScierrorW(267,_W("%ls: Wrong size for input argument #%d : Argument %d in te list must be of size %d.\n"), L"dasrt", iPos+1, 3, 2);
+                    Scierror(267, _("%s: Wrong size for input argument #%d : Argument %d in te list must be of size %d.\n"), "dasrt", iPos+1, 3, 2);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -487,7 +492,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a string, a function or a matrix in case of argument info.\n"), L"dasrt", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a string, a function or a matrix in case of argument info.\n"), "dasrt", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -495,7 +500,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix or a function expected.\n"), L"dasrt", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A matrix or a function expected.\n"), "dasrt", iPos+1);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYdotData);free(pdYData);free(YSize);
             return types::Function::Error;
@@ -504,7 +509,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
     if(bFuncF == false)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"dasrt", in.size() + 3);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "dasrt", in.size() + 3);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYdotData);free(pdYData);free(YSize);
         return types::Function::Error;
@@ -512,7 +517,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
     if(pDblNg == NULL)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"dasrt", in.size() + 2);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "dasrt", in.size() + 2);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYdotData);free(pdYData);free(YSize);
         return types::Function::Error;
@@ -520,7 +525,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
     if(bFuncG == false)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"dasrt", in.size() + 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "dasrt", in.size() + 1);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYdotData);free(pdYData);free(YSize);
         return types::Function::Error;
@@ -621,7 +626,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
     {
         if(iworksize + rworksize != pDblHd->getSize())
         {
-            ScierrorW(77, _W("%ls: Wrong size for input argument(s) %d: %d expected.\n"), L"dasrt", in.size(), iworksize + rworksize);
+            Scierror(77, _("%s: Wrong size for input argument(s) %d: %d expected.\n"), "dasrt", in.size(), iworksize + rworksize);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYdotData);free(pdYData);free(YSize);
             free(iwork);free(rwork);
@@ -691,7 +696,7 @@ types::Function::ReturnValue sci_dasrt(types::typed_list &in, int _iRetCount, ty
 
         if(iret == 1) // error
         {
-            ScierrorW(999, _W("%ls: ddasrt return with state %d.\n"), L"dasrt", idid);
+            Scierror(999, _("%s: ddasrt return with state %d.\n"), "dasrt", idid);
             lpDblOut.clear();
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYdotData);free(pdYData);free(YSize);
index ffa97b4..d142c43 100644 (file)
@@ -22,6 +22,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "scifunctions.h"
@@ -71,14 +72,14 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 // *** check the minimal number of input args. ***
     if(in.size() < 4 || in.size() > 9)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"dassl", 4, 9);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "dassl", 4, 9);
         return types::Function::Error;
     }
 
 // *** check number of output args ***
     if(_iRetCount > 2)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d to %d expected.\n"), L"dassl", 1, 2);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d to %d expected.\n"), "dassl", 1, 2);
         return types::Function::Error;
     }
 
@@ -86,7 +87,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
     // x0 = [y0, yd0]
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"dassl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "dassl", iPos+1);
         return types::Function::Error;
     }
 
@@ -94,13 +95,13 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 
     if(pDblX0->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"dassl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "dassl", iPos+1);
         return types::Function::Error;
     }
 
     if(pDblX0->getCols() > 2)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A real matrix with %d to %d colomn(s) expected.\n"), L"dassl", iPos+1, 1, 2);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A real matrix with %d to %d colomn(s) expected.\n"), "dassl", iPos+1, 1, 2);
         return types::Function::Error;
     }
 
@@ -113,7 +114,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"dassl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "dassl", iPos+1);
         return types::Function::Error;
     }
 
@@ -121,7 +122,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 
     if(pDblT0->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A scalar expected.\n"), L"dassl", iPos+1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A scalar expected.\n"), "dassl", iPos+1);
         return types::Function::Error;
     }
 
@@ -129,7 +130,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"dassl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "dassl", iPos+1);
         return types::Function::Error;
     }
 
@@ -137,7 +138,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 
     if(pDblT->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"dassl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "dassl", iPos+1);
         return types::Function::Error;
     }
 
@@ -172,7 +173,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
                 pDblAtol = in[iPos]->getAs<types::Double>();
                 if(pDblAtol->getSize() != pDblX0->getRows() && pDblAtol->isScalar() == false)
                 {
-                    ScierrorW(267,_W("%ls: Wrong size for input argument #%d : A scalar or a matrix of size %d expected.\n"), L"dassl", iPos+1, pDblX0->getRows());
+                    Scierror(267, _("%s: Wrong size for input argument #%d : A scalar or a matrix of size %d expected.\n"), "dassl", iPos+1, pDblX0->getRows());
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -183,7 +184,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
                 pDblRtol = in[iPos]->getAs<types::Double>();
                 if(pDblAtol->getSize() != pDblRtol->getSize())
                 {
-                    ScierrorW(267,_W("%ls: Wrong size for input argument #%d : Atol and Rtol must have the same size.\n"), L"dassl", iPos+1, pDblX0->getRows());
+                    Scierror(267, _("%s: Wrong size for input argument #%d : Atol and Rtol must have the same size.\n"), "dassl", iPos+1, pDblX0->getRows());
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -194,7 +195,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
                 pDblHd = in[iPos]->getAs<types::Double>();
                 if(in.size() != iPos+1)
                 {
-                    ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"dassl", iPos+1);
+                    Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "dassl", iPos+1);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -202,7 +203,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"dassl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "dassl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -223,7 +224,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix or a list expected.\n"), L"dassl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix or a list expected.\n"), "dassl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -246,7 +247,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix or a list expected.\n"), L"dassl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix or a list expected.\n"), "dassl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -254,7 +255,9 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 
             if(bOK == false)
             {
-                ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"dassl", pStr->get(0));
+                char* pst = wide_string_to_UTF8(pStr->get(0));
+                Scierror(50, _("%s: Subroutine not found: %s\n"), "dassl", pst);
+                FREE(pst);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -266,7 +269,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 
             if(pList->getSize() == 0)
             {
-                ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"dassl", iPos+1, L"(string empty)");
+                Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "dassl", iPos+1, "(string empty)");
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -274,7 +277,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 
             if(bFuncF && bListInfo)
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"dassl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "dassl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -303,7 +306,9 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 
                 if(bOK == false)
                 {
-                    ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"dassl", iPos+1, pStr->get(0));
+                    char* pst = wide_string_to_UTF8(pStr->get(0));
+                    Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "dassl", iPos+1, pst);
+                    FREE(pst);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -320,7 +325,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
                 {
                     if(pList->get(iter + 1)->isDouble() == false)
                     {
-                        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), L"dassl", iPos+1, iter+1);
+                        Scierror(999, _("%s: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), "dassl", iPos+1, iter+1);
                         DifferentialEquation::removeDifferentialEquationFunctions();
                         free(pdYdotData);free(pdYData);free(YSize);
                         return types::Function::Error;
@@ -372,7 +377,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
             {
                 if(pList->getSize() != 7)
                 {
-                    ScierrorW(267,_W("%ls: Wrong size for input argument #%d : A list of size %d expected.\n"), L"dassl", iPos+1, 7);
+                    Scierror(267, _("%s: Wrong size for input argument #%d : A list of size %d expected.\n"), "dassl", iPos+1, 7);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -384,11 +389,11 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
                     {
                         if(i == 1 || i == 5 || i == 6)
                         {
-                            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : Element %d in the info list must be a scalar.\n"), L"dassl", iPos+1, i);
+                            Scierror(999, _("%s: Wrong type for input argument #%d : Element %d in the info list must be a scalar.\n"), "dassl", iPos+1, i);
                         }
                         else
                         {
-                            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : Element %d in the info list must be a matrix.\n"), L"dassl", iPos+1, i);
+                            Scierror(999, _("%s: Wrong type for input argument #%d : Element %d in the info list must be a matrix.\n"), "dassl", iPos+1, i);
                         }
                         DifferentialEquation::removeDifferentialEquationFunctions();
                         free(pdYdotData);free(pdYData);free(YSize);
@@ -416,7 +421,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
                 }
                 else if(pDblTemp->getSize() != 0)
                 {
-                    ScierrorW(267,_W("%ls: Wrong size for input argument #%d : Argument %d in te list must be of size %d.\n"), L"dassl", iPos+1, 3, 2);
+                    Scierror(267, _("%s: Wrong size for input argument #%d : Argument %d in te list must be of size %d.\n"), "dassl", iPos+1, 3, 2);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYdotData);free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -446,7 +451,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a string, a function or a matrix in case of argument info.\n"), L"dassl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a string, a function or a matrix in case of argument info.\n"), "dassl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYdotData);free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -454,7 +459,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix or a function expected.\n"), L"dassl", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A matrix or a function expected.\n"), "dassl", iPos+1);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYdotData);free(pdYData);free(YSize);
             return types::Function::Error;
@@ -463,7 +468,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 
     if(bFuncF == false)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"dassl", in.size() + 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "dassl", in.size() + 1);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYdotData);free(pdYData);free(YSize);
         return types::Function::Error;
@@ -562,7 +567,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
     {
         if(iworksize + rworksize != pDblHd->getSize())
         {
-            ScierrorW(77, _W("%ls: Wrong size for input argument(s) %d: %d expected.\n"), L"dassl", in.size(), iworksize + rworksize);
+            Scierror(77, _("%s: Wrong size for input argument(s) %d: %d expected.\n"), "dassl", in.size(), iworksize + rworksize);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYdotData);free(pdYData);free(YSize);
             free(iwork);free(rwork);
@@ -632,7 +637,7 @@ types::Function::ReturnValue sci_dassl(types::typed_list &in, int _iRetCount, ty
 
         if(iret == 1) // error
         {
-            ScierrorW(999, _W("%ls: dassl return with state %d.\n"), L"dassl", idid);
+            Scierror(999, _("%s: dassl return with state %d.\n"), "dassl", idid);
             lpDblOut.clear();
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYdotData);free(pdYData);free(YSize);
index 89bb8e7..dc0405a 100644 (file)
@@ -21,6 +21,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "scifunctions.h"
@@ -43,14 +44,14 @@ types::Function::ReturnValue sci_feval(types::typed_list &in, int _iRetCount, ty
 // *** check the minimal number of input args. ***
     if(in.size() < 2 || in.size() > 3)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"feval", 2, 3);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "feval", 2, 3);
         return types::Function::Error;
     }
 
 // *** check number of output args according the methode. ***
     if(_iRetCount > 1)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"feval", 1);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "feval", 1);
         return types::Function::Error;
     }
 
@@ -58,13 +59,13 @@ types::Function::ReturnValue sci_feval(types::typed_list &in, int _iRetCount, ty
     // X
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"feval", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "feval", iPos+1);
         return types::Function::Error;
     }
     pDblX = in[iPos]->getAs<types::Double>();
     if(pDblX->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"feval", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "feval", iPos+1);
         return types::Function::Error;
     }
     iPos++;
@@ -74,13 +75,13 @@ types::Function::ReturnValue sci_feval(types::typed_list &in, int _iRetCount, ty
     {
         if(in[iPos]->isDouble() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"feval", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "feval", iPos+1);
             return types::Function::Error;
         }
         pDblY = in[iPos]->getAs<types::Double>();
         if(pDblY->isComplex())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"feval", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "feval", iPos+1);
             return types::Function::Error;
         }
         iPos++;
@@ -105,7 +106,7 @@ types::Function::ReturnValue sci_feval(types::typed_list &in, int _iRetCount, ty
         int ret  = deFunctionsManager->execFevalF(&nn, &x, &y, res, &iflag);
         if(ret)
         {
-            ScierrorW(50,_W("%ls: Argument #%d : Variable returned by scilab argument function is incorrect.\n"), L"int3d", 4);
+            Scierror(50, _("%s: Argument #%d : Variable returned by scilab argument function is incorrect.\n"), "int3d", 4);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -118,7 +119,9 @@ types::Function::ReturnValue sci_feval(types::typed_list &in, int _iRetCount, ty
 
         if(bOK == false)
         {
-            ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"feval", pStr->get(0));
+            char* pst = wide_string_to_UTF8(pStr->get(0));
+            Scierror(50, _("%s: Subroutine not found: %s\n"), "feval", pst);
+            FREE(pst);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -129,7 +132,7 @@ types::Function::ReturnValue sci_feval(types::typed_list &in, int _iRetCount, ty
 
         if(pList->getSize() == 0)
         {
-            ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"feval", iPos+1, L"(string empty)");
+            Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "feval", iPos+1, "(string empty)");
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -144,14 +147,14 @@ types::Function::ReturnValue sci_feval(types::typed_list &in, int _iRetCount, ty
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), L"feval", 4);
+            Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), "feval", 4);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
     }
     else
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"feval", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "feval", iPos+1);
         DifferentialEquation::removeDifferentialEquationFunctions();
         return types::Function::Error;
     }
@@ -182,7 +185,7 @@ types::Function::ReturnValue sci_feval(types::typed_list &in, int _iRetCount, ty
 
             if(iret)
             {
-                ScierrorW(999, _W("%ls: Error during the function execution.\n"), L"feval");
+                Scierror(999, _("%s: Error during the function execution.\n"), "feval");
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 delete pDblOut;
                 return types::Function::Error;
index 92f2d55..197f24f 100644 (file)
@@ -22,6 +22,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "scifunctions.h"
@@ -77,14 +78,14 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 // *** check the minimal number of input args. ***
     if(in.size() < 6 || in.size() > 12)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"impl", 6, 12);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "impl", 6, 12);
         return types::Function::Error;
     }
 
 // *** check number of output args ***
     if(_iRetCount > 3 || _iRetCount == 2)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d or %d expected.\n"), L"impl", 1, 3);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d or %d expected.\n"), "impl", 1, 3);
         return types::Function::Error;
     }
 
@@ -109,7 +110,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d : It must be one of the following strings : adams or stiff.\n"), L"impl", 1);
+            Scierror(999, _("%s: Wrong value for input argument #%d : It must be one of the following strings : adams or stiff.\n"), "impl", 1);
             return types::Function::Error;
         }
     }
@@ -118,7 +119,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
     // y0
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"impl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "impl", iPos+1);
         return types::Function::Error;
     }
 
@@ -126,13 +127,13 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
     if(pDblY0->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"impl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "impl", iPos+1);
         return types::Function::Error;
     }
 
     if(pDblY0->getCols() != 1 && pDblY0->getRows() != 1)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real vector expected.\n"), L"impl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real vector expected.\n"), "impl", iPos+1);
         return types::Function::Error;
     }
 
@@ -140,7 +141,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"impl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "impl", iPos+1);
         return types::Function::Error;
     }
 
@@ -148,13 +149,13 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
     if(pDblYdot0->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"impl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "impl", iPos+1);
         return types::Function::Error;
     }
 
     if(pDblYdot0->getCols() != 1 && pDblYdot0->getRows() != 1)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real vector expected.\n"), L"impl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real vector expected.\n"), "impl", iPos+1);
         return types::Function::Error;
     }
 
@@ -162,7 +163,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"impl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "impl", iPos+1);
         return types::Function::Error;
     }
 
@@ -170,7 +171,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
     if(pDblT0->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A scalar expected.\n"), L"impl", iPos+1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A scalar expected.\n"), "impl", iPos+1);
         return types::Function::Error;
     }
 
@@ -178,7 +179,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"impl", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "impl", iPos+1);
         return types::Function::Error;
     }
 
@@ -202,7 +203,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
                 pDblAtol = in[iPos]->getAs<types::Double>();
                 if(pDblAtol->getSize() != pDblY0->getSize() && pDblAtol->isScalar() == false)
                 {
-                    ScierrorW(267,_W("%ls: Arg %d and arg %d must have equal dimensions.\n"), L"impl", pStrType ? 2 : 1, iPos+1);
+                    Scierror(267, _("%s: Arg %d and arg %d must have equal dimensions.\n"), "impl", pStrType ? 2 : 1, iPos+1);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -213,7 +214,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
                 pDblRtol = in[iPos]->getAs<types::Double>();
                 if(pDblRtol->getSize() != pDblY0->getSize() && pDblRtol->isScalar() == false)
                 {
-                    ScierrorW(267,_W("%ls: Arg %d and arg %d must have equal dimensions.\n"), L"impl", pStrType ? 2 : 1, iPos+1);
+                    Scierror(267, _("%s: Arg %d and arg %d must have equal dimensions.\n"), "impl", pStrType ? 2 : 1, iPos+1);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -225,7 +226,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
                 {
                     if(in[iPos+1]->isDouble() == false)
                     {
-                        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"impl", iPos+2);
+                        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "impl", iPos+2);
                         DifferentialEquation::removeDifferentialEquationFunctions();
                         free(pdYData);free(YSize);
                         return types::Function::Error;
@@ -237,7 +238,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
                 }
                 else
                 {
-                    ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"impl", iPos+2);
+                    Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "impl", iPos+2);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -245,7 +246,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"impl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "impl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -271,7 +272,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"impl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "impl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -299,7 +300,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"impl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "impl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -307,7 +308,9 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
             if(bOK == false)
             {
-                ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"impl", pStr->get(0));
+                char* pst = wide_string_to_UTF8(pStr->get(0));
+                Scierror(50, _("%s: Subroutine not found: %s\n"), "impl", pst);
+                FREE(pst);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -319,7 +322,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
             if(pList->getSize() == 0)
             {
-                ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"impl", iPos+1, L"(string empty)");
+                Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "impl", iPos+1, "(string empty)");
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -327,7 +330,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
             if(bFuncF && bFuncG && bFuncJac)
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"impl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "impl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -365,7 +368,9 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
                 if(bOK == false)
                 {
-                    ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"impl", iPos+1, pStr->get(0));
+                    char* pst = wide_string_to_UTF8(pStr->get(0));
+                    Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "impl", iPos+1, pst);
+                    FREE(pst);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -382,7 +387,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
                 {
                     if(pList->get(iter + 1)->isDouble() == false)
                     {
-                        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), L"impl", iPos+1, iter+1);
+                        Scierror(999, _("%s: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), "impl", iPos+1, iter+1);
                         DifferentialEquation::removeDifferentialEquationFunctions();
                         free(pdYData);free(YSize);
                         return types::Function::Error;
@@ -441,7 +446,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a string or a function.\n"), L"impl", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a string or a function.\n"), "impl", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -449,7 +454,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix or a function expected.\n"), L"impl", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A matrix or a function expected.\n"), "impl", iPos+1);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYData);free(YSize);
             return types::Function::Error;
@@ -458,7 +463,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
     if(bFuncF == false)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"impl", in.size() + 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "impl", in.size() + 1);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
@@ -466,7 +471,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
     if(bFuncG == false)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"impl", in.size() + 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "impl", in.size() + 1);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
@@ -567,7 +572,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
     {
         if(pDblW->getSize() != rwSize || pDblIw->getSize() != iwSize)
         {
-            ScierrorW(9999, _W("%ls: Wrong size for w and iw : w = %d and iw = %d expected.\n"), L"impl", rwSize, iwSize);
+            Scierror(9999, _("%s: Wrong size for w and iw : w = %d and iw = %d expected.\n"), "impl", rwSize, iwSize);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYData);free(YSize);
             free(rwork);free(iwork);
@@ -610,7 +615,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
         int err = 0;
         if(istate == 3)
         {
-            sciprintW(_W("The user-supplied subroutine res signalled lsodi to halt the integration and return (ires=2). Execution of the external function has failed.\n"));
+            sciprint(_("The user-supplied subroutine res signalled lsodi to halt the integration and return (ires=2). Execution of the external function has failed.\n"));
             err = 1;
         }
         else
@@ -620,7 +625,7 @@ types::Function::ReturnValue sci_impl(types::typed_list &in, int _iRetCount, typ
 
         if(err == 1)
         {
-            ScierrorW(999, _W("%ls: %ls exit with state %d.\n"), L"impl", L"lsodi", istate);
+            Scierror(999, _("%s: %s exit with state %d.\n"), "impl", "lsodi", istate);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYData);free(YSize);
             free(rwork);free(iwork);
index cc9d9b4..f49843b 100644 (file)
@@ -21,6 +21,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "scifunctions.h"
@@ -52,14 +53,14 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
 // *** check the minimal number of input args. ***
     if(in.size() < 3 || in.size() > 4)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"int2d", 3, 4);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "int2d", 3, 4);
         return types::Function::Error;
     }
 
 // *** check number of output args according the methode. ***
     if(_iRetCount > 3)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"int2d", 2);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "int2d", 2);
         return types::Function::Error;
     }
 
@@ -67,44 +68,44 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
     // X
     if(in[0]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int2d", 1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int2d", 1);
         return types::Function::Error;
     }
     pDblX = in[0]->getAs<types::Double>();//->clone()->getAs<types::Double>();
     if(pDblX->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int2d", 1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int2d", 1);
         return types::Function::Error;
     }
 
     if(pDblX->getRows() != 3)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A 3 by N matrix expected.\n"), L"int2d", 1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A 3 by N matrix expected.\n"), "int2d", 1);
         return types::Function::Error;
     }
 
     // Y
     if(in[1]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int2d", 2);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int2d", 2);
         return types::Function::Error;
     }
     pDblY = in[1]->getAs<types::Double>();//->clone()->getAs<types::Double>();
     if(pDblY->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int2d", 2);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int2d", 2);
         return types::Function::Error;
     }
 
     if(pDblY->getRows() != 3)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A 3 by N matrix expected.\n"), L"int2d", 2);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A 3 by N matrix expected.\n"), "int2d", 2);
         return types::Function::Error;
     }
 
     if(pDblY->getCols() != pDblX->getCols())
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : Same size of input argument %d expected.\n"), L"int2d", 2, 1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : Same size of input argument %d expected.\n"), "int2d", 2, 1);
         return types::Function::Error;
     }
 
@@ -124,7 +125,7 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
         double ret = int2d_f(&x, &y);
         if(ret == 0)
         {
-            ScierrorW(50,_W("%ls: Argument #%d : Variable returned by scilab argument function is incorrect.\n"), L"int2d", 3);
+            Scierror(50, _("%s: Argument #%d : Variable returned by scilab argument function is incorrect.\n"), "int2d", 3);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -137,7 +138,9 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
 
         if(bOK == false)
         {
-            ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"int2d", pStr->get(0));
+            char* pst = wide_string_to_UTF8(pStr->get(0));
+            Scierror(50, _("%s: Subroutine not found: %s\n"), "int2d", pst);
+            FREE(pst);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -148,7 +151,7 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
 
         if(pList->getSize() == 0)
         {
-            ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"int2d", 3, L"(string empty)");
+            Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "int2d", 3, "(string empty)");
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -163,14 +166,14 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), L"int2d", 3);
+            Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), "int2d", 3);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
     }
     else
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"int2d", 3);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "int2d", 3);
         DifferentialEquation::removeDifferentialEquationFunctions();
         return types::Function::Error;
     }
@@ -180,7 +183,7 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
     {
         if(in[3]->isDouble() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int2d", 4);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int2d", 4);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -188,14 +191,14 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
         pDblParams = in[3]->getAs<types::Double>();
         if(pDblParams->isComplex())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int2d", 4);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int2d", 4);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
 
         if(pDblParams->getSize() != 5)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d : %d expected.\n"), L"int2d", 4, 5);
+            Scierror(999, _("%s: Wrong size for input argument #%d : %d expected.\n"), "int2d", 4, 5);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -204,17 +207,17 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
         {
             if(pDblParams->get(0) < 0.0e0)
             {
-                sciprintW(_W("%ls: Warning : Wrong value for the first element of argument #%d : The default value will be used.\n"),L"int2d", 4);
+                sciprint(_("%ls: Warning : Wrong value for the first element of argument #%d : The default value will be used.\n"),L"int2d", 4);
             }
 
             if(pDblParams->get(2) < 1)
             {
-                sciprintW(_W("%ls: Warning : Wrong value for the third element of argument #%d : The default value will be used.\n"),L"int2d", 4);
+                sciprint(_("%ls: Warning : Wrong value for the third element of argument #%d : The default value will be used.\n"),L"int2d", 4);
             }
 
             if(pDblParams->get(3) < 1)
             {
-                sciprintW(_W("%ls: Warning : Wrong value for the fourth element of argument #%d : The default value will be used.\n"),L"int2d", 4);
+                sciprint(_("%ls: Warning : Wrong value for the fourth element of argument #%d : The default value will be used.\n"),L"int2d", 4);
             }
         }
 
@@ -243,32 +246,32 @@ types::Function::ReturnValue sci_int2d(types::typed_list &in, int _iRetCount, ty
         {
             case 1 :
             {
-                ScierrorW(999, _W("%ls: Means termination for lack of space to divide another triangle.\n"), L"int2d");
+                Scierror(999, _("%s: Means termination for lack of space to divide another triangle.\n"), "int2d");
                 break;
             }
             case 2 :
             {
-                ScierrorW(999, _W("%ls: Means termination because of roundoff noise.\n"), L"int2d");
+                Scierror(999, _("%s: Means termination because of roundoff noise.\n"), "int2d");
                 break;
             }
             case 3 :
             {
-                ScierrorW(999, _W("%ls: means termination with relative error <= 5.0* machine epsilon.\n"), L"int2d");
+                Scierror(999, _("%s: means termination with relative error <= 5.0* machine epsilon.\n"), "int2d");
                 break;
             }
             case 4 :
             {
-                ScierrorW(999, _W("%ls: Means termination because the number of function evaluations has exceeded MEVALS.\n"), L"int2d");
+                Scierror(999, _("%s: Means termination because the number of function evaluations has exceeded MEVALS.\n"), "int2d");
                 break;
             }
             case 9 :
             {
-                ScierrorW(999, _W("%ls: Means termination because of error in input flag.\n"), L"int2d");
+                Scierror(999, _("%s: Means termination because of error in input flag.\n"), "int2d");
                 break;
             }
             default :// normaly nerver call.
             {
-                ScierrorW(999, _W("%ls: twodq return with error %d.\n"), L"int2d", iflag);
+                Scierror(999, _("%s: twodq return with error %d.\n"), "int2d", iflag);
             }
         }
         return types::Function::Error;
index de3d682..5c17bb4 100644 (file)
@@ -21,6 +21,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "elem_common.h"
 #include "localization.h"
 #include "Scierror.h"
@@ -51,14 +52,14 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
 // *** check the minimal number of input args. ***
     if(in.size() < 4 || in.size() > 6)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d to %d expected.\n"), L"int3d", 4, 6);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d to %d expected.\n"), "int3d", 4, 6);
         return types::Function::Error;
     }
 
 // *** check number of output args according the methode. ***
     if(_iRetCount > 3)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"int3d", 2);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "int3d", 2);
         return types::Function::Error;
     }
 
@@ -66,69 +67,69 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
     // X
     if(in[0]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 1);
         return types::Function::Error;
     }
     pDblX = in[0]->getAs<types::Double>();
     if(pDblX->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 1);
         return types::Function::Error;
     }
 
     if(pDblX->getRows() != 4)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A 4 by N matrix expected.\n"), L"int3d", 1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A 4 by N matrix expected.\n"), "int3d", 1);
         return types::Function::Error;
     }
 
     // Y
     if(in[1]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 2);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 2);
         return types::Function::Error;
     }
     pDblY = in[1]->getAs<types::Double>();
     if(pDblY->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 2);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 2);
         return types::Function::Error;
     }
 
     if(pDblY->getRows() != 4)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A 4 by N matrix expected.\n"), L"int3d", 2);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A 4 by N matrix expected.\n"), "int3d", 2);
         return types::Function::Error;
     }
 
     if(pDblY->getCols() != pDblX->getCols())
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : Same size of input argument %d expected.\n"), L"int3d", 2, 1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : Same size of input argument %d expected.\n"), "int3d", 2, 1);
         return types::Function::Error;
     }
 
     // Z
     if(in[2]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 3);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 3);
         return types::Function::Error;
     }
     pDblZ = in[2]->getAs<types::Double>();
     if(pDblZ->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 3);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 3);
         return types::Function::Error;
     }
 
     if(pDblZ->getRows() != 4)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A 4 by N matrix expected.\n"), L"int3d", 4);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A 4 by N matrix expected.\n"), "int3d", 4);
         return types::Function::Error;
     }
 
     if(pDblZ->getCols() != pDblX->getCols())
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : Same size of input argument %d expected.\n"), L"int3d", 3, 1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : Same size of input argument %d expected.\n"), "int3d", 3, 1);
         return types::Function::Error;
     }
 
@@ -148,7 +149,7 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
         double ret = int3d_f(xyz, &numfun, &out);
         if(ret == 0)
         {
-            ScierrorW(50,_W("%ls: Argument #%d : Variable returned by scilab argument function is incorrect.\n"), L"int3d", 4);
+            Scierror(50, _("%s: Argument #%d : Variable returned by scilab argument function is incorrect.\n"), "int3d", 4);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -161,7 +162,9 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
 
         if(bOK == false)
         {
-            ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"int3d", pStr->get(0));
+            char* pst = wide_string_to_UTF8(pStr->get(0));
+            Scierror(50, _("%s: Subroutine not found: %s\n"), "int3d", pst);
+            FREE(pst);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -172,7 +175,7 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
 
         if(pList->getSize() == 0)
         {
-            ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"int3d", 4, L"(string empty)");
+            Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "int3d", 4, "(string empty)");
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -187,14 +190,14 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), L"int3d", 4);
+            Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), "int3d", 4);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
     }
     else
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"int3d", 4);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "int3d", 4);
         DifferentialEquation::removeDifferentialEquationFunctions();
         return types::Function::Error;
     }
@@ -204,21 +207,21 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
     {
         if(in[4]->isDouble() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 5);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 5);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
         types::Double* pDblNf = in[4]->getAs<types::Double>();
         if(pDblNf->isComplex())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 5);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 5);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
 
         if(pDblNf->isScalar() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A scalar expected.\n"), L"int3d", 5);
+            Scierror(999, _("%s: Wrong size for input argument #%d : A scalar expected.\n"), "int3d", 5);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -226,7 +229,7 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
 
         if(nf < 1)
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d : A positive value expected.\n"), L"int3d", 5);
+            Scierror(999, _("%s: Wrong value for input argument #%d : A positive value expected.\n"), "int3d", 5);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -237,7 +240,7 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
     {
         if(in[5]->isDouble() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 6);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 6);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -245,14 +248,14 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
         types::Double* pDblParams = in[5]->getAs<types::Double>();
         if(pDblParams->isComplex())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"int3d", 6);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "int3d", 6);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
 
         if(pDblParams->getSize() != 4)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d : %d expected.\n"), L"int3d", 6, 4);
+            Scierror(999, _("%s: Wrong size for input argument #%d : %d expected.\n"), "int3d", 6, 4);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -263,7 +266,7 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
             {
                 if(pDblParams->get(i) < 0)
                 {
-                    sciprintW(_W("%ls: Warning : Wrong value for the element %d of argument #%d : The default value will be used.\n"),L"int3d", i+1, 6);
+                    sciprint(_("%ls: Warning : Wrong value for the element %d of argument #%d : The default value will be used.\n"),L"int3d", i+1, 6);
                 }
             }
         }
@@ -277,7 +280,7 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
         {
             if(getWarningMode())
             {
-                sciprintW(_W("%ls: Warning : Wrong value for the element %d and %d of argument #%d : The default value will be used.\n"),L"int3d", 3, 4, 6);
+                sciprint(_("%ls: Warning : Wrong value for the element %d and %d of argument #%d : The default value will be used.\n"),L"int3d", 3, 4, 6);
             }
             epsabs = 0.0;
             epsrel = 1.0e-5;
@@ -285,7 +288,7 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
 
         if(minpts > maxpts)
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d : minpts smaller than maxpts expected.\n"), L"int3d", 6);
+            Scierror(999, _("%s: Wrong value for input argument #%d : minpts smaller than maxpts expected.\n"), "int3d", 6);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -333,19 +336,19 @@ types::Function::ReturnValue sci_int3d(types::typed_list &in, int _iRetCount, ty
         {
             if(getWarningMode())
             {
-                sciprintW(_W("%ls: Warning : maxpts was too small to obtain the required accuracy.\n"),L"int3d");
+                sciprint(_("%ls: Warning : maxpts was too small to obtain the required accuracy.\n"),L"int3d");
             }
         }
         else if(ifail == 3)
         {
-            ScierrorW(999, _W("%ls: The volume of one of the initially given tetrahedrons is zero.\n"), L"int3d");
+            Scierror(999, _("%s: The volume of one of the initially given tetrahedrons is zero.\n"), "int3d");
             free(pdResult);
             free(pdErr);
             return types::Function::Error;
         }
         else // normaly nerver call.
         {
-            ScierrorW(999, _W("%ls: dcutet return with error %d.\n"), L"int3d", ifail);
+            Scierror(999, _("%s: dcutet return with error %d.\n"), "int3d", ifail);
             free(pdResult);
             free(pdErr);
             return types::Function::Error;
index 21b04c5..f4a38c8 100644 (file)
@@ -21,6 +21,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "scifunctions.h"
@@ -42,14 +43,14 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
 // *** check the minimal number of input args. ***
     if(in.size() < 3 || in.size() > 5)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"intg", 3);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "intg", 3);
         return types::Function::Error;
     }
 
 // *** check number of output args ***
     if(_iRetCount > 2)
     {
-        ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"intg", 2);
+        Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "intg", 2);
         return types::Function::Error;
     }
 
@@ -57,7 +58,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
     // A
     if(in[0]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"intg", 1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "intg", 1);
         return types::Function::Error;
     }
 
@@ -65,7 +66,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
 
     if(pDblA->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A scalar expected.\n"), L"intg", 1);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A scalar expected.\n"), "intg", 1);
         return types::Function::Error;
     }
 
@@ -74,7 +75,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
     // B
     if(in[1]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"intg", 2);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "intg", 2);
         return types::Function::Error;
     }
 
@@ -82,7 +83,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
 
     if(pDblB->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A scalar expected.\n"), L"intg", 2);
+        Scierror(999, _("%s: Wrong size for input argument #%d : A scalar expected.\n"), "intg", 2);
         return types::Function::Error;
     }
 
@@ -102,7 +103,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
         double ret = intg_f(&t);
         if(ret == 0)
         {
-            ScierrorW(50,_W("%ls: Argument #%d : Variable returned by scilab argument function is incorrect.\n"), L"intg", 3);
+            Scierror(50, _("%s: Argument #%d : Variable returned by scilab argument function is incorrect.\n"), "intg", 3);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -115,7 +116,9 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
 
         if(bOK == false)
         {
-            ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"intg", pStr->get(0));
+            char* pst = wide_string_to_UTF8(pStr->get(0));
+            Scierror(50, _("%s: Subroutine not found: %s\n"), "intg", pst);
+            FREE(pst);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -126,7 +129,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
 
         if(pList->getSize() == 0)
         {
-            ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"intg", 3, L"(string empty)");
+            Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "intg", 3, "(string empty)");
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -141,14 +144,14 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), L"intg", 3);
+            Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a Scilab function.\n"), "intg", 3);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
     }
     else
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"intg", 3);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "intg", 3);
         DifferentialEquation::removeDifferentialEquationFunctions();
         return types::Function::Error;
     }
@@ -157,7 +160,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
     {
         if(in[3]->isDouble() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"intg", 4);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "intg", 4);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -166,7 +169,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
 
         if(pDblEpsR->isScalar() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A scalar expected.\n"), L"intg", 4);
+            Scierror(999, _("%s: Wrong size for input argument #%d : A scalar expected.\n"), "intg", 4);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -178,7 +181,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
     {
         if(in[4]->isDouble() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"intg", 5);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "intg", 5);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -187,7 +190,7 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
 
         if(pDblEpsA->isScalar() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A scalar expected.\n"), L"intg", 5);
+            Scierror(999, _("%s: Wrong size for input argument #%d : A scalar expected.\n"), "intg", 5);
             DifferentialEquation::removeDifferentialEquationFunctions();
             return types::Function::Error;
         }
@@ -225,33 +228,33 @@ types::Function::ReturnValue sci_intg(types::typed_list &in, int _iRetCount, typ
         {
             case 1 :
             {
-                ScierrorW(999, _W("%ls: Maximum number of subdivisions allowed has been achieved.\n"), L"intg");
+                Scierror(999, _("%s: Maximum number of subdivisions allowed has been achieved.\n"), "intg");
                 return types::Function::Error;
             }
             case 2 :
             {
                 if(getWarningMode())
                 {
-                    sciprintW(_W("%ls: Warning : The occurrence of roundoff error is detected, which prevents the requested tolerance from being achieved. The error may be under-estimated.\n"),L"intg");
+                    sciprint(_("%ls: Warning : The occurrence of roundoff error is detected, which prevents the requested tolerance from being achieved. The error may be under-estimated.\n"),L"intg");
                 }
                 break;
             }
             case 3 :
             {
-                ScierrorW(999, _W("%ls: Extremely bad integrand behaviour occurs at some points of the integration interval.\n"), L"intg");
+                Scierror(999, _("%s: Extremely bad integrand behaviour occurs at some points of the integration interval.\n"), "intg");
                 return types::Function::Error;
             }
             case 4 :
             {
                 if(getWarningMode())
                 {
-                    sciprintW(_W("%ls: Warning : The algorithm does not converge. Roundoff error is detected in the extrapolation table. It is presumed that the requested tolerance cannot be achieved, and that the returned result is the best which can be obtained.\n"),L"intg");
+                    sciprint(_("%ls: Warning : The algorithm does not converge. Roundoff error is detected in the extrapolation table. It is presumed that the requested tolerance cannot be achieved, and that the returned result is the best which can be obtained.\n"),L"intg");
                 }
                 break;
             }
             case 5 :
             {
-                ScierrorW(999, _W("%ls: The integral is probably divergent, or slowly convergent.\n"), L"intg");
+                Scierror(999, _("%s: The integral is probably divergent, or slowly convergent.\n"), "intg");
                 return types::Function::Error;
             }
         }
index c6503a5..e144278 100644 (file)
@@ -30,6 +30,7 @@ extern "C"
 #include "sciprint.h"
 #include "common_structure.h"
 #include "checkodeerror.h"
+#include "MALLOC.h"
 }
 /*--------------------------------------------------------------------------*/
 
@@ -86,7 +87,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 // *** check the minimal number of input args. ***
     if(in.size() < 4)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"ode", 4);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "ode", 4);
         return types::Function::Error;
     }
 
@@ -130,7 +131,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d : It must be one of the following strings : adams, stiff, rk, rkf, fix, root or discrete.\n"), L"ode", 1);
+            Scierror(999, _("%s: Wrong value for input argument #%d : It must be one of the following strings : adams, stiff, rk, rkf, fix, root or discrete.\n"), "ode", 1);
             return types::Function::Error;
         }
     }
@@ -140,7 +141,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
     {
         if(_iRetCount != 1 && _iRetCount != 3)
         {
-            ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d or %d expected.\n"), L"ode", 1, 3);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d or %d expected.\n"), "ode", 1, 3);
             return types::Function::Error;
         }
     }
@@ -148,7 +149,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
     {
         if(_iRetCount == 3 || _iRetCount > 4)
         {
-            ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d, %d or %d expected.\n"), L"ode", 1, 2, 4);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d, %d or %d expected.\n"), "ode", 1, 2, 4);
             return types::Function::Error;
         }
     }
@@ -156,7 +157,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
     {
         if(_iRetCount != 1)
         {
-            ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"ode", 1);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "ode", 1);
             return types::Function::Error;
         }
     }
@@ -168,13 +169,13 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
         pDblY0 = in[iPos]->getAs<types::Double>();
         if(pDblY0->isComplex())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"ode", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "ode", iPos+1);
             return types::Function::Error;
         }
 
         if(pDblY0->getCols() != 1)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A real colunm vector expected (n x 1).\n"), L"ode", iPos+1);
+            Scierror(999, _("%s: Wrong size for input argument #%d : A real colunm vector expected (n x 1).\n"), "ode", iPos+1);
             return types::Function::Error;
         }
     }
@@ -184,13 +185,13 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
         pPolyY0 = in[iPos]->getAs<types::Polynom>();
         if(pPolyY0->isComplex())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real polynom expected.\n"), L"ode", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real polynom expected.\n"), "ode", iPos+1);
             return types::Function::Error;
         }
 
         if(pPolyY0->isScalar() == false)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A real scalar polynom expected.\n"), L"ode", iPos+1);
+            Scierror(999, _("%s: Wrong size for input argument #%d : A real scalar polynom expected.\n"), "ode", iPos+1);
             return types::Function::Error;
         }
 
@@ -206,7 +207,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 */
     else
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"ode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "ode", iPos+1);
         return types::Function::Error;
     }
 
@@ -214,7 +215,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"ode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "ode", iPos+1);
         return types::Function::Error;
     }
 
@@ -222,7 +223,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
     if(pDblT0->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"ode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "ode", iPos+1);
         return types::Function::Error;
     }
 
@@ -230,7 +231,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"ode", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "ode", iPos+1);
         return types::Function::Error;
     }
 
@@ -251,7 +252,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
     {
         if(in.size() != 5)
         {
-            ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"ode", 5);
+            Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "ode", 5);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYData);free(YSize);
             return types::Function::Error;
@@ -259,7 +260,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
         if(in[4]->isCallable() == false && in[4]->isString() == false && in[4]->isList() == false)
         {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"ode", 5);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "ode", 5);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -275,7 +276,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
                 pDblRtol = in[iPos]->getAs<types::Double>();
                 if(pDblRtol->getSize() != pDblY0->getSize() && pDblRtol->isScalar() == false)
                 {
-                    ScierrorW(267,_W("%ls: Arg %d and arg %d must have equal dimensions.\n"), L"ode", pStrType ? 2 : 1, iPos+1);
+                    Scierror(267, _("%s: Arg %d and arg %d must have equal dimensions.\n"), "ode", pStrType ? 2 : 1, iPos+1);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -286,7 +287,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
                 pDblAtol = in[iPos]->getAs<types::Double>();
                 if(pDblAtol->getSize() != pDblY0->getSize() && pDblAtol->isScalar() == false)
                 {
-                    ScierrorW(267,_W("%ls: Arg %d and arg %d must have equal dimensions.\n"), L"ode", pStrType ? 2 : 1, iPos+1);
+                    Scierror(267, _("%s: Arg %d and arg %d must have equal dimensions.\n"), "ode", pStrType ? 2 : 1, iPos+1);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -302,7 +303,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
                 {
                     if(in[iPos+1]->isDouble() == false)
                     {
-                        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"ode", iPos+2);
+                        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "ode", iPos+2);
                         DifferentialEquation::removeDifferentialEquationFunctions();
                         free(pdYData);free(YSize);
                         return types::Function::Error;
@@ -314,7 +315,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
                 }
                 else
                 {
-                    ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"ode", iPos+2);
+                    Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "ode", iPos+2);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -322,7 +323,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"ode", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "ode", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -348,7 +349,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"ode", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "ode", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -376,7 +377,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"ode", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "ode", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -384,7 +385,9 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
             if(bOK == false)
             {
-                ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"ode", pStr->get(0));
+                char* pst = wide_string_to_UTF8(pStr->get(0));
+                Scierror(50, _("%s: Subroutine not found: %s\n"), "ode", pst);
+                FREE(pst);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -396,7 +399,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
             if(pList->getSize() == 0)
             {
-                ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"ode", iPos+1, L"(string empty)");
+                Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "ode", iPos+1, "(string empty)");
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -404,7 +407,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
             if(bFuncF && (bFuncJac || pDblNg) && (bFuncG || meth != 3))
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"ode", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "ode", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -442,7 +445,9 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
                 if(bOK == false)
                 {
-                    ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"ode", iPos+1, pStr->get(0));
+                    char* pst = wide_string_to_UTF8(pStr->get(0));
+                    Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "ode", iPos+1, pst);
+                    FREE(pst);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -459,7 +464,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
                 {
                     if(pList->get(iter + 1)->isDouble() == false)
                     {
-                        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), L"ode", iPos+1, iter+1);
+                        Scierror(999, _("%s: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), "ode", iPos+1, iter+1);
                         DifferentialEquation::removeDifferentialEquationFunctions();
                         free(pdYData);free(YSize);
                         return types::Function::Error;
@@ -518,7 +523,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a string or a function.\n"), L"ode", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a string or a function.\n"), "ode", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -526,7 +531,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix or a function expected.\n"), L"ode", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A matrix or a function expected.\n"), "ode", iPos+1);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYData);free(YSize);
             return types::Function::Error;
@@ -536,21 +541,21 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
     if(bFuncF == false)
     {
         int val = (meth == 3) ? 3 : 1;
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"ode", in.size() + val);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "ode", in.size() + val);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
     }
     if(pDblNg == NULL && meth == 3)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"ode", in.size() + 2);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "ode", in.size() + 2);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
     }
     if(bFuncG == false && meth == 3)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"ode", in.size() + 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "ode", in.size() + 1);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
@@ -607,7 +612,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
     if(iopt == 1 && (pDblOdeOptions->get(4) > pDblOdeOptions->get(3))) // hmin > hmax ?
     {
-        ScierrorW(9999, _W("%ls: Wrong value of hmin and hmax : hmin = %d is greater than hmax = %d.\n"), L"ode", pDblOdeOptions->get(4), pDblOdeOptions->get(3));
+        Scierror(9999, _("%s: Wrong value of hmin and hmax : hmin = %d is greater than hmax = %d.\n"), "ode", pDblOdeOptions->get(4), pDblOdeOptions->get(3));
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
@@ -615,7 +620,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
     if(jt < 0 || jt > 5)
     {
-        ScierrorW(9999, _W("%ls: Wrong value of Jacobian type : A number between %d and %d expected.\n"), L"ode", 0, 5);
+        Scierror(9999, _("%s: Wrong value of Jacobian type : A number between %d and %d expected.\n"), "ode", 0, 5);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
@@ -628,14 +633,14 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
     if(bFuncJac && (jt == 2 || jt == 5) && getWarningMode())
     {
-        sciprintW(_W("%ls: Warning: Jacobian is given, but not used.\n"), L"ode");
+        sciprint(_("%s: Warning: Jacobian is given, but not used.\n"), "ode");
     }
 
     if(bFuncJac == false && (jt == 1 || jt == 4))
     {
         if(getWarningMode())
         {
-            sciprintW(_W("%ls: Warning: No Jacobian external given, but one is required by %ODEOPTIONS(6) value. Jacobian will be estimated.\n"), L"ode");
+            sciprint(_("%s: Warning: No Jacobian external given, but one is required by %ODEOPTIONS(6) value. Jacobian will be estimated.\n"), "ode");
         }
 
         jt = 2;
@@ -718,7 +723,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
     {
         if(getWarningMode())
         {
-            sciprintW(_W("%ls: Warning: Wrong value for maximun stiff/non-stiff order allowed :\nAt most %d for mxordn, %d for mxords and no null value for both expected.\nWrong value will be reduced to the default value.\n"), L"ode", 12, 5);
+            sciprint(_("%s: Warning: Wrong value for maximun stiff/non-stiff order allowed :\nAt most %d for mxordn, %d for mxords and no null value for both expected.\nWrong value will be reduced to the default value.\n"), "ode", 12, 5);
         }
 
         mxordn = 12;
@@ -864,7 +869,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
         {
             if(pDblW->getSize() != rwSize || pDblIw->getSize() != iwSize)
             {
-                ScierrorW(9999, _W("%ls: Wrong size for w and iw : w = %d and iw = %d expected.\n"), L"ode", rwSize, iwSize);
+                Scierror(9999, _("%s: Wrong size for w and iw : w = %d and iw = %d expected.\n"), "ode", rwSize, iwSize);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 free(rwork);free(iwork);
@@ -918,8 +923,8 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
     if(pDblOdeOptions && pDblOdeOptions->get(9) == 1)
     {
-        sciprintW(_W("itask = %d\tmeth = %d\tjactyp = %d\tml = %d\tmu = %d\tiopt = %d\n"), itask, meth, jt, ml, mu, iopt);
-        sciprintW(_W("tcrit = %lf\th0 = %lf\thmax = %lf\thmin = %lf\n"), pDblOdeOptions->get(1), pDblOdeOptions->get(2), pDblOdeOptions->get(3), pDblOdeOptions->get(4));
+        sciprint(_("itask = %d\tmeth = %d\tjactyp = %d\tml = %d\tmu = %d\tiopt = %d\n"), itask, meth, jt, ml, mu, iopt);
+        sciprint(_("tcrit = %lf\th0 = %lf\thmax = %lf\thmin = %lf\n"), pDblOdeOptions->get(1), pDblOdeOptions->get(2), pDblOdeOptions->get(3), pDblOdeOptions->get(4));
     }
 
     if(meth < 4)
@@ -968,7 +973,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
         bOneStep = true;
         if(getWarningMode() && pDblT->isScalar() == false)
         {
-            sciprintW(_W("itask = %d : At most one value of t is allowed, the last element of t is used.\n"), itask);
+            sciprint(_("itask = %d : At most one value of t is allowed, the last element of t is used.\n"), itask);
         }
     }
 
@@ -981,51 +986,51 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
 
         do
         {
-            wchar_t* strMeth;
+            char* strMeth;
             switch(meth)
             {
                 case 0 : // lsoda
                 {
-                    strMeth = _W("lsoda");
+                    strMeth = "lsoda";
                     ret = C2F(lsoda)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jt);
                     break;
                 }
                 case 1 : // lsode (adams)
                 case 2 : // lsode (stiff)
                 {
-                    strMeth = _W("lsode");
+                    strMeth = "lsode";
                     int jacType = 10*meth + jt;
                     ret = C2F(lsode)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jacType);
                     break;
                 }
                 case 3 : // lsodar
                 {
-                    strMeth = _W("lsodar");
+                    strMeth = "lsodar";
                     int ng = (int)pDblNg->get(0);
                     ret = C2F(lsodar)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jt, ode_g, &ng, jroot);
                     break;
                 }
                 case 4 : // lsdisc (discrete)
                 {
-                    strMeth = _W("lsdisc");
+                    strMeth = "lsdisc";
                     ret = C2F(lsdisc)(ode_f, YSize, pdYData, &t0, &t, rwork, &rworkSize, &istate);
                     break;
                 }
                 case 5 : // lsrgk (rk)
                 {
-                    strMeth = _W("lsrgk");
+                    strMeth = "lsrgk";
                     ret = C2F(lsrgk)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                     break;
                 }
                 case 6 : // rkf45 (rkf)
                 {
-                    strMeth = _W("rkf45");
+                    strMeth = "rkf45";
                     ret = C2F(rkf45)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                     break;
                 }
                 case 7 : // rksimp (fix)
                 {
-                    strMeth = _W("rksimp");
+                    strMeth = "rksimp";
                     ret = C2F(rksimp)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                     break;
                 }
@@ -1034,7 +1039,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             int err = checkOdeError(meth, istate);
             if(err == 1) // error case
             {
-                ScierrorW(999, _W("%ls: %ls exit with state %d.\n"), L"ode", strMeth, istate);
+                Scierror(999, _("%s: %s exit with state %d.\n"), "ode", strMeth, istate);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 free(rwork);free(iwork);
@@ -1053,7 +1058,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             {
                 if(getWarningMode())
                 {
-                    sciprintW(_W("Integration was stoped at t = %lf.\n"),t0);
+                    sciprint(_("Integration was stoped at t = %lf.\n"), t0);
                 }
                 break;
             }
@@ -1064,12 +1069,12 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             //              roots were found before satisfying the stop condition
             //              specified by itask.  see jroot.
 
-                sciprintW(_W("%ls: Warning: At t = %lf, y is a root, jroot = "), L"ode", t0);
+                sciprint(_("%s: Warning: At t = %lf, y is a root, jroot = "), "ode", t0);
                 for(int k = 0; k < pDblNg->get(0); k++)
                 {
-                    sciprintW(_W("\t%d"), jroot[k]);
+                    sciprint("\t%d", jroot[k]);
                 }
-                sciprintW(_W("\n"));
+                sciprint("\n");
                 break;
             }
         }
@@ -1151,7 +1156,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
         for(int i = 0; i < pDblT->getSize(); i++)
         {
             double t = pDblT->get(i);
-            wchar_t* strMeth;
+            char* strMeth;
 
             if(itask >= 4 && t > rwork[0]) // rwork[0] => tcrit
             {
@@ -1163,46 +1168,46 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             {
                 case 0 : // lsoda
                 {
-                    strMeth = _W("lsoda");
+                    strMeth = "lsoda";
                     ret = C2F(lsoda)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jt);
                     break;
                 }
                 case 1 : // lsode (adams)
                 case 2 : // lsode (stiff)
                 {
-                    strMeth = _W("lsode");
+                    strMeth = "lsode";
                     int jacType = 10*meth + jt;
                     ret = C2F(lsode)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jacType);
                     break;
                 }
                 case 3 : // lsodar
                 {
-                    strMeth = _W("lsodar");
+                    strMeth = "lsodar";
                     int ng = (int)pDblNg->get(0);
                     ret = C2F(lsodar)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jt, ode_g, &ng, jroot);
                     break;
                 }
                 case 4 : // lsdisc (discrete)
                 {
-                    strMeth = _W("lsdisc");
+                    strMeth = "lsdisc";
                     ret = C2F(lsdisc)(ode_f, YSize, pdYData, &t0, &t, rwork, &rworkSize, &istate);
                     break;
                 }
                 case 5 : // lsrgk (rk)
                 {
-                    strMeth = _W("lsrgk");
+                    strMeth = "lsrgk";
                     ret = C2F(lsrgk)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                     break;
                 }
                 case 6 : // rkf45 (rkf)
                 {
-                    strMeth = _W("rkf45");
+                    strMeth = "rkf45";
                     ret = C2F(rkf45)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                     break;
                 }
                 case 7 : // rksimp (fix)
                 {
-                    strMeth = _W("rksimp");
+                    strMeth = "rksimp";
                     ret = C2F(rksimp)(ode_f, YSize, pdYData, &t0, &t, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                     break;
                 }
@@ -1211,7 +1216,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             int err = checkOdeError(meth, istate);
             if(err == 1) // error case
             {
-                ScierrorW(999, _W("%ls: %ls exit with state %d.\n"), L"ode", strMeth, istate);
+                Scierror(999, _("%s: %s exit with state %d.\n"), "ode", strMeth, istate);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 free(rwork);free(iwork);
@@ -1244,7 +1249,7 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             {
                 if(getWarningMode())
                 {
-                    sciprintW(_W("Integration was stoped at t = %lf.\n"),t0);
+                    sciprint(_("Integration was stoped at t = %lf.\n"), t0);
                 }
 
                 types::Double* pDblYOutTemp = pDblYOut;
@@ -1264,12 +1269,12 @@ types::Function::ReturnValue sci_ode(types::typed_list &in, int _iRetCount, type
             //              roots were found before satisfying the stop condition
             //              specified by itask.  see jroot.
 
-                sciprintW(_W("%ls: Warning: At t = %lf, y is a root, jroot = "), L"ode", t0);
+                sciprint(_("%s: Warning: At t = %lf, y is a root, jroot = "), "ode", t0);
                 for(int k = 0; k < pDblNg->get(0); k++)
                 {
-                    sciprintW(_W("\t%d"), jroot[k]);
+                    sciprint("\t%d", jroot[k]);
                 }
-                sciprintW(_W("\n"));
+                sciprint("\n");
 
                 types::Double* pDblYOutTemp = pDblYOut;
                 pDblYOut = new types::Double(pDblYOutTemp->getRows(), i+1);
index 37d5cd6..2108734 100644 (file)
@@ -22,6 +22,7 @@
 
 extern "C"
 {
+#include "MALLOC.h"
 #include "localization.h"
 #include "Scierror.h"
 #include "elem_common.h"
@@ -86,7 +87,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 // *** check the minimal number of input args. ***
     if(in.size() < 4)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"odedc", 6);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "odedc", 6);
         return types::Function::Error;
     }
 
@@ -130,7 +131,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong value for input argument #%d : It must be one of the following strings : adams, stiff, rk, rkf, fix, root or discrete.\n"), L"odedc", 1);
+            Scierror(999, _("%s: Wrong value for input argument #%d : It must be one of the following strings : adams, stiff, rk, rkf, fix, root or discrete.\n"), "odedc", 1);
             return types::Function::Error;
         }
     }
@@ -140,7 +141,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     {
         if(_iRetCount != 1 && _iRetCount != 3)
         {
-            ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d or %d expected.\n"), L"odedc", 1, 3);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d or %d expected.\n"), "odedc", 1, 3);
             return types::Function::Error;
         }
     }
@@ -148,7 +149,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     {
         if(_iRetCount == 3 || _iRetCount > 4)
         {
-            ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d, %d or %d expected.\n"), L"odedc", 1, 2, 4);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d, %d or %d expected.\n"), "odedc", 1, 2, 4);
             return types::Function::Error;
         }
     }
@@ -156,7 +157,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     {
         if(_iRetCount != 1)
         {
-            ScierrorW(78, _W("%ls: Wrong number of output argument(s): %d expected.\n"), L"odedc", 1);
+            Scierror(78, _("%s: Wrong number of output argument(s): %d expected.\n"), "odedc", 1);
             return types::Function::Error;
         }
     }
@@ -168,19 +169,19 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
         pDblY0 = in[iPos]->getAs<types::Double>();
         if(pDblY0->isComplex())
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"odedc", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "odedc", iPos+1);
             return types::Function::Error;
         }
 
         if(pDblY0->getCols() != 1)
         {
-            ScierrorW(999, _W("%ls: Wrong size for input argument #%d : A real colunm vector expected (n x 1).\n"), L"odedc", iPos+1);
+            Scierror(999, _("%s: Wrong size for input argument #%d : A real colunm vector expected (n x 1).\n"), "odedc", iPos+1);
             return types::Function::Error;
         }
     }
     else
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix\n"), L"odedc", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix\n"), "odedc", iPos+1);
         return types::Function::Error;
     }
 
@@ -188,7 +189,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real scalar expected.\n"), L"odedc", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real scalar expected.\n"), "odedc", iPos+1);
         return types::Function::Error;
     }
 
@@ -196,13 +197,13 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
     if(pDblNd->isComplex() || pDblNd->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real scalar expected.\n"), L"odedc", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real scalar expected.\n"), "odedc", iPos+1);
         return types::Function::Error;
     }
 
     if(pDblNd->get(0) > pDblY0->getSize())
     {
-        ScierrorW(999, _W("%ls: Wrong value for input argument #%d : Value must not exceeds dimension of argument %d.\n"), L"odedc", iPos+1, iPos);
+        Scierror(999, _("%s: Wrong value for input argument #%d : Value must not exceeds dimension of argument %d.\n"), "odedc", iPos+1, iPos);
         return types::Function::Error;
     }
 
@@ -210,7 +211,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real matrix expected.\n"), L"odedc", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real matrix expected.\n"), "odedc", iPos+1);
         return types::Function::Error;
     }
 
@@ -218,13 +219,13 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
     if(pDblStdel->isComplex())
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A real scalar expected.\n"), L"odedc", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A real scalar expected.\n"), "odedc", iPos+1);
         return types::Function::Error;
     }
 
     if(pDblStdel->getSize() > 2)
     {
-        ScierrorW(999, _W("%ls: Wrong size for input argument #%d : %d or %d values expected.\n"), L"odedc", iPos+1, 1, 2);
+        Scierror(999, _("%s: Wrong size for input argument #%d : %d or %d values expected.\n"), "odedc", iPos+1, 1, 2);
         return types::Function::Error;
     }
 
@@ -232,7 +233,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"odedc", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "odedc", iPos+1);
         return types::Function::Error;
     }
 
@@ -240,7 +241,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
     if(pDblT0->isScalar() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A scalar expected.\n"), L"odedc", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A scalar expected.\n"), "odedc", iPos+1);
         return types::Function::Error;
     }
 
@@ -248,7 +249,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     iPos++;
     if(in[iPos]->isDouble() == false)
     {
-        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"odedc", iPos+1);
+        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "odedc", iPos+1);
         return types::Function::Error;
     }
 
@@ -258,7 +259,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     sizeYc = pDblY0->getSize() - (int)pDblNd->get(0);
     if(sizeYc < 0)
     {
-        ScierrorW(999, _W("%ls: Wrong value for input argument #%d : Value of nd exceeds dimension of y0.\n"), L"odedc", 2);
+        Scierror(999, _("%s: Wrong value for input argument #%d : Value of nd exceeds dimension of y0.\n"), "odedc", 2);
         return types::Function::Error;
     }
 
@@ -278,7 +279,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     {
         if(in.size() != 7)
         {
-            ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"odedc", 7);
+            Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "odedc", 7);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYData);free(YSize);
             return types::Function::Error;
@@ -286,7 +287,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
         if(in[6]->isCallable() == false && in[6]->isString() == false && in[6]->isList() == false)
         {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"odedc", 7);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "odedc", 7);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -302,7 +303,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 pDblRtol = in[iPos]->getAs<types::Double>();
                 if(pDblRtol->getSize() != pDblY0->getSize() && pDblRtol->isScalar() == false)
                 {
-                    ScierrorW(267,_W("%ls: Arg %d and arg %d must have equal dimensions.\n"), L"odedc", pStrType ? 2 : 1, iPos+1);
+                    Scierror(267, _("%s: Arg %d and arg %d must have equal dimensions.\n"), "odedc", pStrType ? 2 : 1, iPos+1);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -313,7 +314,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 pDblAtol = in[iPos]->getAs<types::Double>();
                 if(pDblAtol->getSize() != pDblY0->getSize() && pDblAtol->isScalar() == false)
                 {
-                    ScierrorW(267,_W("%ls: Arg %d and arg %d must have equal dimensions.\n"), L"odedc", pStrType ? 2 : 1, iPos+1);
+                    Scierror(267, _("%s: Arg %d and arg %d must have equal dimensions.\n"), "odedc", pStrType ? 2 : 1, iPos+1);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -329,7 +330,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 {
                     if(in[iPos+1]->isDouble() == false)
                     {
-                        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"odedc", iPos+2);
+                        Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "odedc", iPos+2);
                         DifferentialEquation::removeDifferentialEquationFunctions();
                         free(pdYData);free(YSize);
                         return types::Function::Error;
@@ -341,7 +342,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 }
                 else
                 {
-                    ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"odedc", iPos+2);
+                    Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "odedc", iPos+2);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -349,7 +350,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A function expected.\n"), L"odedc", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A function expected.\n"), "odedc", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -375,7 +376,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"odedc", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "odedc", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -403,7 +404,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"odedc", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "odedc", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -411,7 +412,9 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
             if(bOK == false)
             {
-                ScierrorW(50,_W("%ls: Subroutine not found: %ls\n"), L"odedc", pStr->get(0));
+                char* pst = wide_string_to_UTF8(pStr->get(0));
+                Scierror(50, _("%s: Subroutine not found: %s\n"), "odedc", pst);
+                FREE(pst);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -423,7 +426,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
             if(pList->getSize() == 0)
             {
-                ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"odedc", iPos+1, L"(string empty)");
+                Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "odedc", iPos+1, "(string empty)");
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -431,7 +434,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
             if(bFuncF && (bFuncJac || pDblNg) && (bFuncG || meth != 3))
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix expected.\n"), L"odedc", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : A matrix expected.\n"), "odedc", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -469,7 +472,9 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
                 if(bOK == false)
                 {
-                    ScierrorW(50,_W("%ls: Argument #%d : Subroutine not found in list: %ls\n"), L"odedc", iPos+1, pStr->get(0));
+                    char* pst = wide_string_to_UTF8(pStr->get(0));
+                    Scierror(50, _("%s: Argument #%d : Subroutine not found in list: %s\n"), "odedc", iPos+1, pst);
+                    FREE(pst);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     return types::Function::Error;
@@ -487,7 +492,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 {
                     if(pList->get(iter + 1)->isDouble() == false)
                     {
-                        ScierrorW(999, _W("%ls: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), L"odedc", iPos+1, iter+1);
+                        Scierror(999, _("%s: Wrong type for input argument #%d : Argument %d in the list must be a matrix.\n"), "odedc", iPos+1, iter+1);
                         free(pdYData);free(YSize);
                         return types::Function::Error;
                     }
@@ -546,7 +551,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
             }
             else
             {
-                ScierrorW(999, _W("%ls: Wrong type for input argument #%d : The first argument in the list must be a string or a function.\n"), L"odedc", iPos+1);
+                Scierror(999, _("%s: Wrong type for input argument #%d : The first argument in the list must be a string or a function.\n"), "odedc", iPos+1);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 return types::Function::Error;
@@ -554,7 +559,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
         }
         else
         {
-            ScierrorW(999, _W("%ls: Wrong type for input argument #%d : A matrix or a function expected.\n"), L"odedc", iPos+1);
+            Scierror(999, _("%s: Wrong type for input argument #%d : A matrix or a function expected.\n"), "odedc", iPos+1);
             DifferentialEquation::removeDifferentialEquationFunctions();
             free(pdYData);free(YSize);
             return types::Function::Error;
@@ -564,21 +569,21 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     if(bFuncF == false)
     {
         int val = (meth == 3) ? 3 : 1;
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"odedc", in.size() + val);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "odedc", in.size() + val);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
     }
     if(pDblNg == NULL && meth == 3)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"odedc", in.size() + 2);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "odedc", in.size() + 2);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
     }
     if(bFuncG == false && meth == 3)
     {
-        ScierrorW(77, _W("%ls: Wrong number of input argument(s): %d expected.\n"), L"odedc", in.size() + 1);
+        Scierror(77, _("%s: Wrong number of input argument(s): %d expected.\n"), "odedc", in.size() + 1);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
@@ -644,7 +649,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
                 if(getWarningMode())
                 {
-                    sciprintW(_W("%ls: Warning: odedc forces itask = %d.\n"), L"odedc",itask);
+                    sciprint(_("%s: Warning: odedc forces itask = %d.\n"), "odedc",itask);
                 }
             }
         }
@@ -652,7 +657,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
     if(iopt == 1 && (pDblOdeOptions->get(4) > pDblOdeOptions->get(3))) // hmin > hmax ?
     {
-        ScierrorW(9999, _W("%ls: Wrong value of hmin and hmax : hmin = %d is greater than hmax = %d.\n"), L"odedc", pDblOdeOptions->get(4), pDblOdeOptions->get(3));
+        Scierror(9999, _("%s: Wrong value of hmin and hmax : hmin = %d is greater than hmax = %d.\n"), "odedc", pDblOdeOptions->get(4), pDblOdeOptions->get(3));
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
@@ -660,7 +665,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
     if(jt < 0 || jt > 5)
     {
-        ScierrorW(9999, _W("%ls: Wrong value of Jacobian type : A number between %d and %d expected.\n"), L"odedc", 0, 5);
+        Scierror(9999, _("%s: Wrong value of Jacobian type : A number between %d and %d expected.\n"), "odedc", 0, 5);
         DifferentialEquation::removeDifferentialEquationFunctions();
         free(pdYData);free(YSize);
         return types::Function::Error;
@@ -673,14 +678,14 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
     if(bFuncJac && (jt == 2 || jt == 5) && getWarningMode())
     {
-        sciprintW(_W("%ls: Warning: Jacobian is given, but not used.\n"), L"odedc");
+        sciprint(_("%s: Warning: Jacobian is given, but not used.\n"), "odedc");
     }
 
     if(bFuncJac == false && (jt == 1 || jt == 4))
     {
         if(getWarningMode())
         {
-            sciprintW(_W("%ls: Warning: No Jacobian external given, but one is required by %ODEOPTIONS(6) value. Jacobian will be estimated.\n"), L"odedc");
+            sciprint(_("%s: Warning: No Jacobian external given, but one is required by %ODEOPTIONS(6) value. Jacobian will be estimated.\n"), "odedc");
         }
 
         jt = 2;
@@ -765,7 +770,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     {
         if(getWarningMode())
         {
-            sciprintW(_W("%ls: Warning: Wrong value for maximun stiff/non-stiff order allowed :\nAt most %d for mxordn, %d for mxords and no null value for both expected.\nWrong value will be reduced to the default value.\n"), L"ode", 12, 5);
+            sciprint(_("%s: Warning: Wrong value for maximun stiff/non-stiff order allowed :\nAt most %d for mxordn, %d for mxords and no null value for both expected.\nWrong value will be reduced to the default value.\n"), "ode", 12, 5);
         }
 
         mxordn = 12;
@@ -908,7 +913,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
         {
             if(pDblW->getSize() != rwSize || pDblIw->getSize() != iwSize)
             {
-                ScierrorW(9999, _W("%ls: Wrong size for w and iw : w = %d and iw = %d expected.\n"), L"odedc", rwSize, iwSize);
+                Scierror(9999, _("%s: Wrong size for w and iw : w = %d and iw = %d expected.\n"), "odedc", rwSize, iwSize);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 if(jroot) free(jroot);
@@ -961,8 +966,8 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
     if(pDblOdeOptions && pDblOdeOptions->get(9) == 1)
     {
-        sciprintW(_W("itask = %d\tmeth = %d\tjactyp = %d\tml = %d\tmu = %d\n"), itask, meth, jt, ml, mu, iopt);
-        sciprintW(_W("tcrit = %lf\th0 = %lf\thmax = %lf\thmin = %lf\n"), pDblOdeOptions->get(1), pDblOdeOptions->get(2), pDblOdeOptions->get(3), pDblOdeOptions->get(4));
+        sciprint(_("itask = %d\tmeth = %d\tjactyp = %d\tml = %d\tmu = %d\n"), itask, meth, jt, ml, mu, iopt);
+        sciprint(_("tcrit = %lf\th0 = %lf\thmax = %lf\thmin = %lf\n"), pDblOdeOptions->get(1), pDblOdeOptions->get(2), pDblOdeOptions->get(3), pDblOdeOptions->get(4));
     }
 
     // get rwork and iwork
@@ -1015,7 +1020,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
     bool bUpdate    = false;
     bool bOneStep   = false;
 
-    wchar_t* strMeth;
+    char* strMeth;
 
     if(pDblStdel->isScalar() == false)
     {
@@ -1027,7 +1032,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
         bOneStep = true;
         if(getWarningMode() && pDblT->isScalar() == false)
         {
-            sciprintW(_W("itask = %d : At most one value of t is allowed, the last element of t is used.\n"), itask);
+            sciprint(_("itask = %d : At most one value of t is allowed, the last element of t is used.\n"), itask);
         }
     }
 
@@ -1052,12 +1057,12 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
                 if(pDblOdeOptions && pDblOdeOptions->get(9) == 1)
                 {
-                    sciprintW(_W("update at t = %lf\n"), tright);
+                    sciprint(_("update at t = %lf\n"), tright);
                 }
 
                 if(ode_f(&sizeYc, &tright, pdYData, pdYData + sizeYc) == 0)
                 {
-                    ScierrorW(999,_W("%ls: Update failed at t = %lf\n"), L"odedc", tright);
+                    Scierror(999, _("%s: Update failed at t = %lf\n"), "odedc", tright);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     if(jroot) free(jroot);
@@ -1084,53 +1089,53 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
                 if(pDblOdeOptions && pDblOdeOptions->get(9) == 1)
                 {
-                    sciprintW(_W("integ. from tleft= %lf to tf= %lf\n"), tleft, tright);
+                    sciprint(_("integ. from tleft= %lf to tf= %lf\n"), tleft, tright);
                 }
 
                 switch(meth)
                 {
                     case 0 : // lsoda
                     {
-                        strMeth = _W("lsoda");
+                        strMeth = "lsoda";
                         ret = C2F(lsoda)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jt);
                         break;
                     }
                     case 1 : // lsode (adams)
                     case 2 : // lsode (stiff)
                     {
-                        strMeth = _W("lsode");
+                        strMeth = "lsode";
                         int jacType = 10*meth + jt;
                         ret = C2F(lsode)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jacType);
                         break;
                     }
                     case 3 : // lsodar
                     {
-                        strMeth = _W("lsodar");
+                        strMeth = "lsodar";
                         int ng = (int)pDblNg->get(0);
                         ret = C2F(lsodar)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jt, ode_g, &ng, jroot);
                         break;
                     }
                     case 4 : // lsdisc (discrete)
                     {
-                        strMeth = _W("lsdisc");
+                        strMeth = "lsdisc";
                         ret = C2F(lsdisc)(ode_f, &sizeYc, pdYData, &tleft, &tright, rwork, &rworkSize, &istate);
                         break;
                     }
                     case 5 : // lsrgk (rk)
                     {
-                        strMeth = _W("lsrgk");
+                        strMeth = "lsrgk";
                         ret = C2F(lsrgk)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                         break;
                     }
                     case 6 : // rkf45 (rkf)
                     {
-                        strMeth = _W("rkf45");
+                        strMeth = "rkf45";
                         ret = C2F(rkf45)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                         break;
                     }
                     case 7 : // rksimp (fix)
                     {
-                        strMeth = _W("rksimp");
+                        strMeth = "rksimp";
                         ret = C2F(rksimp)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                         break;
                     }
@@ -1139,7 +1144,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 int err = checkOdeError(meth, istate);
                 if(err == 1) // error case
                 {
-                    ScierrorW(999, _W("%ls: %ls exit with state %d.\n"), L"odedc", strMeth, istate);
+                    Scierror(999, _("%s: %s exit with state %d.\n"), "odedc", strMeth, istate);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     if(jroot) free(jroot);
@@ -1154,7 +1159,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 {
                     if(getWarningMode())
                     {
-                        sciprintW(_W("Integration was stoped at t = %lf.\n"),tleft);
+                        sciprint(_("Integration was stoped at t = %lf.\n"),tleft);
                     }
                     break;
                 }
@@ -1170,12 +1175,12 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 //              roots were found before satisfying the stop condition
                 //              specified by itask.  see jroot.
 
-                    sciprintW(_W("%ls: Warning: At t = %lf, y is a root, jroot = "), L"odedc", tleft);
+                    sciprint(_("%s: Warning: At t = %lf, y is a root, jroot = "), "odedc", tleft);
                     for(int k = 0; k < pDblNg->get(0); k++)
                     {
-                        sciprintW(_W("\t%d"), jroot[k]);
+                        sciprint("\t%d", jroot[k]);
                     }
-                    sciprintW(_W("\n"));
+                    sciprint("\n");
                     break;
                 }
             }
@@ -1208,7 +1213,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
             if(pDblOdeOptions && pDblOdeOptions->get(9) == 1)
             {
-                sciprintW(_W("tf - hf = %lf\n"), tf - hf);
+                sciprint("tf - hf = %lf\n", tf - hf);
             }
 
             if(fabs(tf - hf) < 1.0e-12)
@@ -1218,7 +1223,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 bUpdate = true;
                 if(pDblOdeOptions && pDblOdeOptions->get(9) == 1)
                 {
-                    sciprintW(_W("integ. from tleft= %lf to hf=tf= %lf\n"), tleft, tright);
+                    sciprint(_("integ. from tleft= %lf to hf=tf= %lf\n"), tleft, tright);
                 }
             }
             else if(tf < hf)
@@ -1228,7 +1233,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 bUpdate = false;
                 if(pDblOdeOptions && pDblOdeOptions->get(9) == 1)
                 {
-                    sciprintW(_W("integ. from tleft= %lf to tf= %lf\n"), tleft, tright);
+                    sciprint(_("integ. from tleft= %lf to tf= %lf\n"), tleft, tright);
                 }
             }
             else if(tf > hf)
@@ -1238,7 +1243,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 bUpdate = true;
                 if(pDblOdeOptions && pDblOdeOptions->get(9) == 1)
                 {
-                    sciprintW(_W("integ. from tleft= %lf to hf= %lf\n"), tleft, tright);
+                    sciprint(_("integ. from tleft= %lf to hf= %lf\n"), tleft, tright);
                 }
             }
 
@@ -1247,46 +1252,46 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
             {
                 case 0 : // lsoda
                 {
-                    strMeth = _W("lsoda");
+                    strMeth = "lsoda";
                     ret = C2F(lsoda)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jt);
                     break;
                 }
                 case 1 : // lsode (adams)
                 case 2 : // lsode (stiff)
                 {
-                    strMeth = _W("lsode");
+                    strMeth = "lsode";
                     int jacType = 10*meth + jt;
                     ret = C2F(lsode)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jacType);
                     break;
                 }
                 case 3 : // lsodar
                 {
-                    strMeth = _W("lsodar");
+                    strMeth = "lsodar";
                     int ng = (int)pDblNg->get(0);
                     ret = C2F(lsodar)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &jt, ode_g, &ng, jroot);
                     break;
                 }
                 case 4 : // lsdisc (discrete)
                 {
-                    strMeth = _W("lsdisc");
+                    strMeth = "lsdisc";
                     ret = C2F(lsdisc)(ode_f, &sizeYc, pdYData, &tleft, &tright, rwork, &rworkSize, &istate);
                     break;
                 }
                 case 5 : // lsrgk (rk)
                 {
-                    strMeth = _W("lsrgk");
+                    strMeth = "lsrgk";
                     ret = C2F(lsrgk)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                     break;
                 }
                 case 6 : // rkf45 (rkf)
                 {
-                    strMeth = _W("rkf45");
+                    strMeth = "rkf45";
                     ret = C2F(rkf45)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                     break;
                 }
                 case 7 : // rksimp (fix)
                 {
-                    strMeth = _W("rksimp");
+                    strMeth = "rksimp";
                     ret = C2F(rksimp)(ode_f, &sizeYc, pdYData, &tleft, &tright, &itol, rtol, atol, &itask, &istate, &iopt, rwork, &rworkSize, iwork, &iworkSize, bFuncJac ? ode_jac : NULL, &meth);
                     break;
                 }
@@ -1295,7 +1300,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
             int err = checkOdeError(meth, istate);
             if(err == 1) // error case
             {
-                ScierrorW(999, _W("%ls: %ls exit with state %d.\n"), L"odedc", strMeth, istate);
+                Scierror(999, _("%s: %s exit with state %d.\n"), "odedc", strMeth, istate);
                 DifferentialEquation::removeDifferentialEquationFunctions();
                 free(pdYData);free(YSize);
                 if(jroot) free(jroot);
@@ -1312,12 +1317,12 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
 
                 if(pDblOdeOptions && pDblOdeOptions->get(9) == 1)
                 {
-                    sciprintW(_W("update at t = %lf\n"), tright);
+                    sciprint(_("update at t = %lf\n"), tright);
                 }
 
                 if(ode_f(&sizeYc, &tright, pdYData, pdYData + sizeYc) == 0)
                 {
-                    ScierrorW(999,_W("%ls: Update failed at t = %lf\n"), L"odedc", tright);
+                    Scierror(999, _("%s: Update failed at t = %lf\n"), "odedc", tright);
                     DifferentialEquation::removeDifferentialEquationFunctions();
                     free(pdYData);free(YSize);
                     if(jroot) free(jroot);
@@ -1348,7 +1353,7 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
             {
                 if(getWarningMode())
                 {
-                    sciprintW(_W("Integration was stoped at t = %lf.\n"),tleft);
+                    sciprint(_("Integration was stoped at t = %lf.\n"),tleft);
                 }
 
                 types::Double* pDblYOutTemp = pDblYOut;
@@ -1367,12 +1372,12 @@ types::Function::ReturnValue sci_odedc(types::typed_list &in, int _iRetCount, ty
                 //              roots were found before satisfying the stop condition
                 //              specified by itask.  see jroot.
 
-                sciprintW(_W("%ls: Warning: At t = %lf, y is a root, jroot = "), L"odedc", tleft);
+                sciprint(_("%s: Warning: At t = %lf, y is a root, jroot = "), "odedc", tleft);
                 for(int k = 0; k < pDblNg->get(0); k++)
                 {
-                    sciprintW(_W("\t%d"), jroot[k]);
+                    sciprint("\t%d", jroot[k]);
                 }
-                sciprintW(_W("\n"));
+                sciprint("\n");
 
                 types::Double* pDblYOutTemp = pDblYOut;
                 pDblYOut = new types::Double(pDblYOutTemp->getRows(), i+1);
index 3bc4ef9..488f1dc 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
@@ -77,7 +77,7 @@
     <ClCompile>
       <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../includes;../src/c;../../types/includes;../../ast/includes;../../core/includes;../../../libs/dynamiclibrary/includes;../../../libs/intl;../../localization/includes;../../system_env/includes;../../api_scilab/includes;../../symbol/includes;../../operations/includes;../../threads/includes;../../output_stream/includes;../../elementary_functions/includes;../../string/includes;../../../libs/Eigen/includes;../../console/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../includes;../src/c;../../types/includes;../../ast/includes;../../core/includes;../../../libs/dynamiclibrary/includes;../../../libs/intl;../../localization/includes;../../system_env/includes;../../api_scilab/includes;../../symbol/includes;../../operations/includes;../../threads/includes;../../output_stream/includes;../../elementary_functions/includes;../../string/includes;../../../libs/Eigen/includes;../../console/includes;../../../libs/MALLOC/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;DIFFERENTIAL_EQUATIONS_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>Default</BasicRuntimeChecks>
     </Midl>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>../includes;../src/c;../../types/includes;../../ast/includes;../../core/includes;../../../libs/dynamiclibrary/includes;../../../libs/intl;../../localization/includes;../../system_env/includes;../../api_scilab/includes;../../symbol/includes;../../operations/includes;../../threads/includes;../../output_stream/includes;../../elementary_functions/includes;../../string/includes;../../../libs/Eigen/includes;../../console/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../includes;../src/c;../../types/includes;../../ast/includes;../../core/includes;../../../libs/dynamiclibrary/includes;../../../libs/intl;../../localization/includes;../../system_env/includes;../../api_scilab/includes;../../symbol/includes;../../operations/includes;../../threads/includes;../../output_stream/includes;../../elementary_functions/includes;../../string/includes;../../../libs/Eigen/includes;../../console/includes;../../../libs/MALLOC/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;DIFFERENTIAL_EQUATIONS_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>Default</BasicRuntimeChecks>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
       <WholeProgramOptimization>false</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>../includes;../src/c;../../types/includes;../../ast/includes;../../core/includes;../../../libs/dynamiclibrary/includes;../../../libs/intl;../../localization/includes;../../system_env/includes;../../api_scilab/includes;../../symbol/includes;../../operations/includes;../../threads/includes;../../output_stream/includes;../../elementary_functions/includes;../../string/includes;../../../libs/Eigen/includes;../../console/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../includes;../src/c;../../types/includes;../../ast/includes;../../core/includes;../../../libs/dynamiclibrary/includes;../../../libs/intl;../../localization/includes;../../system_env/includes;../../api_scilab/includes;../../symbol/includes;../../operations/includes;../../threads/includes;../../output_stream/includes;../../elementary_functions/includes;../../string/includes;../../../libs/Eigen/includes;../../console/includes;../../../libs/MALLOC/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;DIFFERENTIAL_EQUATIONS_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
       <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
       <WholeProgramOptimization>false</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>../includes;../src/c;../../types/includes;../../ast/includes;../../core/includes;../../../libs/dynamiclibrary/includes;../../../libs/intl;../../localization/includes;../../system_env/includes;../../api_scilab/includes;../../symbol/includes;../../operations/includes;../../threads/includes;../../output_stream/includes;../../elementary_functions/includes;../../string/includes;../../../libs/Eigen/includes;../../console/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>../includes;../src/c;../../types/includes;../../ast/includes;../../core/includes;../../../libs/dynamiclibrary/includes;../../../libs/intl;../../localization/includes;../../system_env/includes;../../api_scilab/includes;../../symbol/includes;../../operations/includes;../../threads/includes;../../output_stream/includes;../../elementary_functions/includes;../../string/includes;../../../libs/Eigen/includes;../../console/includes;../../../libs/MALLOC/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;DIFFERENTIAL_EQUATIONS_GW_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
     <ClCompile Include="cpp\sci_odedc.cpp" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\..\..\libs\MALLOC\MALLOC.vcxproj">
+      <Project>{6a84ad8c-ba18-4a3f-9c72-ec3df0939e9e}</Project>
+    </ProjectReference>
     <ProjectReference Include="..\..\console\src\c\console.vcxproj">
       <Project>{445d3b85-c9b1-498b-9c88-0a3c2390b1cc}</Project>
     </ProjectReference>
index 4d6eddd..7af200b 100644 (file)
@@ -27,7 +27,7 @@ int checkOdeError(int meth, int istate)
         {
             if(istate == -7)
             {
-                sciprintW(_W("Work space insufficient to finish (see messages).\n"));
+                sciprint(_("Work space insufficient to finish (see messages).\n"));
                 return 1;
             }
         }
@@ -36,42 +36,42 @@ int checkOdeError(int meth, int istate)
         {
             if(istate == -1)
             {
-                sciprintW(_W("Excess work done on this call (perhaps wrong jacobian type).\n"));
+                sciprint(_("Excess work done on this call (perhaps wrong jacobian type).\n"));
                 return 1;
             }
             else if(istate == -2)
             {
-                sciprintW(_W("Excess accuracy requested (tolerances too small).\n"));
+                sciprint(_("Excess accuracy requested (tolerances too small).\n"));
                 return 1;
             }
             else if(istate == -3)
             {
-                sciprintW(_W("Illegal input detected (see printed message).\n"));
+                sciprint(_("Illegal input detected (see printed message).\n"));
                 return 1;
             }
             else if(istate == -4)
             {
-                sciprintW(_W("Repeated error test failures (check all inputs).\n"));
+                sciprint(_("Repeated error test failures (check all inputs).\n"));
                 return 1;
             }
             else if(istate == -5)
             {
-                sciprintW(_W("Repeated convergence failures (perhaps bad jacobian supplied or wrong choice of jacobian type or tolerances).\n"));
+                sciprint(_("Repeated convergence failures (perhaps bad jacobian supplied or wrong choice of jacobian type or tolerances).\n"));
                 return 1;
             }
             else if(istate == -6)
             {
-                sciprintW(_W("Error weight became zero during problem. (solution component i vanished, and atol or atol(i) = 0.)\n"));
+                sciprint(_("Error weight became zero during problem. (solution component i vanished, and atol or atol(i) = 0.)\n"));
                 return 1;
             }
             else if(istate == -7) // only used with impl (lsodi)
             {
-                sciprintW(_W("The user-supplied subroutine res set its error flag (ires = 3) despite repeated tries by lsodi to avoid that condition.\n"));
+                sciprint(_("The user-supplied subroutine res set its error flag (ires = 3) despite repeated tries by lsodi to avoid that condition.\n"));
                 return 1;
             }
             else if(istate == -8) // only used with impl (lsodi)
             {
-                sciprintW(_W("istate was 0 on input but lsodi was unable to compute the initial value of dy/dt.\n"));
+                sciprint(_("istate was 0 on input but lsodi was unable to compute the initial value of dy/dt.\n"));
                 return 1;
             }
             break;
@@ -100,7 +100,7 @@ int checkOdeError(int meth, int istate)
                 {
                     if(getWarningMode())
                     {
-                        sciprintW(_W("Integration was not completed because relative error tolerance was too small. rerr has been increased appropriately for continuing.\n")); 
+                        sciprint(_("Integration was not completed because relative error tolerance was too small. rerr has been increased appropriately for continuing.\n")); 
                     }
                         return 2;
                 }
@@ -108,28 +108,28 @@ int checkOdeError(int meth, int istate)
                 {
                     if(getWarningMode())
                     {
-                        sciprintW(_W("Integration was not completed because more than 3000 derivative evaluations were needed. This is approximately 500 steps.\n"));
+                        sciprint(_("Integration was not completed because more than 3000 derivative evaluations were needed. This is approximately 500 steps.\n"));
                     }
                         return 2;
                 }
                 case 5:
                 {
-                    sciprintW(_W("Integration was not completed because solution vanished making a pure relative error test impossible. Must use non-zero aerr to continue. Using the one-step integration mode for one step is a good way to proceed.\n"));
+                    sciprint(_("Integration was not completed because solution vanished making a pure relative error test impossible. Must use non-zero aerr to continue. Using the one-step integration mode for one step is a good way to proceed.\n"));
                         return 1;
                 }
                 case 6:
                 {
-                    sciprintW(_W("Integration was not completed because requested accuracy could not be achieved using smallest allowable stepsize. User must increase the error tolerance before continued integration can be attempted.\n"));
+                    sciprint(_("Integration was not completed because requested accuracy could not be achieved using smallest allowable stepsize. User must increase the error tolerance before continued integration can be attempted.\n"));
                         return 1;
                 }
                 case 7:
                 {
-                    sciprintW(_W("It is likely that rkf45 is inefficient for solving this problem. Too much output is restricting the natural stepsize choice. Use the one-step integrator mode.\n"));
+                    sciprint(_("It is likely that rkf45 is inefficient for solving this problem. Too much output is restricting the natural stepsize choice. Use the one-step integrator mode.\n"));
                         return 1;
                 }
                 case 8:
                 {
-                    sciprintW(_W("invalid input parameters : atol and rtol must be greater than 0.\n"));
+                    sciprint(_("invalid input parameters : atol and rtol must be greater than 0.\n"));
                         return 1;
                 }
                 default : break;
@@ -144,7 +144,7 @@ int checkOdeError(int meth, int istate)
             }
             else if(istate == 4)
             {
-                sciprintW(_W("Inappropriate error tolerance.\n"));
+                sciprint(_("Inappropriate error tolerance.\n"));
                 return 1;
             }
             break;
@@ -177,13 +177,13 @@ int checkDasslError(int idid)
         {
             if(getWarningMode())
             {
-                sciprintW(_W("To many steps necessary to reached next required time discretization point. Change discretisation of time vector t or decrease accuracy.\n")); 
+                sciprint(_("To many steps necessary to reached next required time discretization point. Change discretisation of time vector t or decrease accuracy.\n")); 
             }
             return 2;
         }
         case -2 : //The error tolerances are too stringent.
         {
-            sciprintW(_W("The error tolerances are too stringent.\n"));
+            sciprint(_("The error tolerances are too stringent.\n"));
             return 1;
         }
         case -3 :
@@ -194,7 +194,7 @@ int checkDasslError(int idid)
             //for this component.
             if(getWarningMode())
             {
-                sciprintW(_W("Atol and computed test value are zero.\n")); 
+                sciprint(_("Atol and computed test value are zero.\n")); 
             }
             return 2;
         }
@@ -202,7 +202,7 @@ int checkDasslError(int idid)
         {
             if(getWarningMode())
             {
-                sciprintW(_W("A singularity in the solution may be present.\n")); 
+                sciprint(_("A singularity in the solution may be present.\n")); 
             }
             return 2;
         }
@@ -210,20 +210,20 @@ int checkDasslError(int idid)
         {
             if(getWarningMode())
             {
-                sciprintW(_W("May be inaccurate or ill-conditioned JACOBIAN.\n")); 
+                sciprint(_("May be inaccurate or ill-conditioned JACOBIAN.\n")); 
             }
             return 2;
         }
         case -8 : //The matrix of partial derivatives is singular.
         {
-            sciprintW(_W("Singular partial derivatives matrix (may be redundant equations).\n"));
+            sciprint(_("Singular partial derivatives matrix (may be redundant equations).\n"));
             return 1;
         }
         case -9 : //The corrector could not converge.
         {         //There were repeated error test failures in this step.
             if(getWarningMode())
             {
-                sciprintW(_W("Either ill-posed problem or discontinuity or singularity encountered.\n")); 
+                sciprint(_("Either ill-posed problem or discontinuity or singularity encountered.\n")); 
             }
             return 2;
         }
@@ -231,18 +231,18 @@ int checkDasslError(int idid)
         {
             if(getWarningMode())
             {
-                sciprintW(_W("External ''res'' return many times with ires=-1.\n")); 
+                sciprint(_("External ''res'' return many times with ires=-1.\n")); 
             }
             return 2;
         }
         case -11 : //IRES equal to -2 was encountered and
         {          //control is being returned to the calling program.
-            sciprintW(_W("Error in external ''res''.\n"));
+            sciprint(_("Error in external ''res''.\n"));
             return 1;
         }
         case -12 : //DDASSL failed to compute the initial YPRIME.
         {
-            sciprintW(_W("dassl failed to compute the initial Ydot.\n"));
+            sciprint(_("dassl failed to compute the initial Ydot.\n"));
             return 1;
         }
         case -33 :
@@ -254,7 +254,7 @@ int checkDasslError(int idid)
             //when invalid input is detected.
             if(getWarningMode())
             {
-                sciprintW(_W("dassl encountered trouble.\n"));
+                sciprint(_("dassl encountered trouble.\n"));
             }
             return 2;
         }
diff --git