Fix MacOS clang 4.6.1 compilation
[scilab.git] / scilab / modules / output_stream / src / cpp / diary_manager.cpp
index 15bde9e..6380902 100644 (file)
@@ -2,18 +2,21 @@
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) 2009 - DIGITEO - Allan CORNET
 *
-* This file must be used under the terms of the CeCILL.
-* This source file is licensed as described in the file COPYING, which
-* you should have received as part of this distribution.  The terms
-* are also available at
-* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ * Copyright (C) 2012 - 2016 - Scilab Enterprises
+ *
+ * This file is hereby licensed under the terms of the GNU GPL v2.0,
+ * pursuant to article 5.3.4 of the CeCILL v.2.1.
+ * This file was originally licensed under the terms of the CeCILL v2.1,
+ * and continues to be available under such terms.
+ * For more information, see the COPYING file which you should have received
+ * along with this program.
 *
 */
 /*--------------------------------------------------------------------------*/
 #include "diary_manager.hxx"
 #include "DiaryList.hxx"
 #include "diary.h"
-#include "MALLOC.h"
+#include "sci_malloc.h"
 /*--------------------------------------------------------------------------*/
 static DiaryList *SCIDIARY = NULL;
 /*--------------------------------------------------------------------------*/
@@ -60,14 +63,17 @@ wchar_t **getDiaryFilenames(int *array_size)
     *array_size = 0;
     if (SCIDIARY)
     {
-        std::wstring * wstringFilenames = SCIDIARY->getFilenames(array_size);
-        if (array_size > 0)
+        std::list<std::wstring> wstringFilenames = SCIDIARY->getFilenames();
+        *array_size = (int)wstringFilenames.size();
+        if (*array_size > 0)
         {
             wchar_t **wcFilenames = (wchar_t **) MALLOC (sizeof(wchar_t*) * (*array_size));
-            for (int i = 0; i < *array_size; i++)
+            int i = 0;
+            for (const auto& filename : wstringFilenames)
             {
-                wcFilenames[i] = (wchar_t*) MALLOC(sizeof(wchar_t) * (wstringFilenames[i].length() + 1));
-                wcscpy(wcFilenames[i], wstringFilenames[i].c_str());
+                wcFilenames[i] = (wchar_t*)MALLOC(sizeof(wchar_t) * (filename.length() + 1));
+                wcscpy(wcFilenames[i], filename.data());
+                ++i;
             }
             return wcFilenames;
         }
@@ -260,7 +266,7 @@ int diaryAppend(wchar_t *filename)
     return -1;
 }
 /*--------------------------------------------------------------------------*/
-int diaryWrite(wchar_t *wstr, BOOL bInput)
+int diaryWrite(const wchar_t *wstr, BOOL bInput)
 {
     if (SCIDIARY)
     {
@@ -277,7 +283,7 @@ int diaryWrite(wchar_t *wstr, BOOL bInput)
     return 1;
 }
 /*--------------------------------------------------------------------------*/
-int diaryWriteln(wchar_t *wstr, BOOL bInput)
+int diaryWriteln(const wchar_t *wstr, BOOL bInput)
 {
     if (SCIDIARY)
     {