Merge 6.0 into master
[scilab.git] / scilab / modules / output_stream / src / cpp / scilab_sprintf.cpp
index b2b4cf4..3b98247 100644 (file)
@@ -46,10 +46,6 @@ static void replace_ld_lld(TokenDef* token);
 
 wchar_t** scilab_sprintf(const std::string& funcname, const wchar_t* _pwstInput, types::typed_list &in, int* _piOutputRows, int* _piNewLine)
 {
-    /* Force Windows display to have two-digit exponent. */
-#ifdef _MSC_VER
-    _set_output_format(_TWO_DIGIT_EXPONENT);
-#endif
     wchar_t** pwstOutput = nullptr;
     int rhs = in.size();
     wchar_t* pwstFirstOutput = nullptr;
@@ -691,6 +687,15 @@ wchar_t** scilab_sprintf(const std::string& funcname, const wchar_t* _pwstInput,
             iStart = i + 1;
             j++;
         }
+        else if ( i == iLen - 1 )
+        {
+            int iSize = i - iStart + 1;
+            pwstOutput[j] = (wchar_t*)MALLOC(sizeof(wchar_t) * (iSize + 1));
+            wcsncpy(pwstOutput[j], pwstFirstOutput + iStart, iSize );
+            pwstOutput[j][iSize] = L'\0';
+            iStart = i + 1;
+            j++;
+        }
     }
 
     if (j == (*_piOutputRows) - 1)