* Bug #13468 fixed - Fileio: Scilab hanged when incorrect format was used for file...
[scilab.git] / scilab / modules / fileio / src / c / do_xxscanf.c
index 335c766..34709de 100644 (file)
@@ -3,11 +3,14 @@
  * Copyright (C) INRIA
  * ...
  *
- * 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.
  *
  */
 /*--------------------------------------------------------------------------*/
@@ -364,7 +367,7 @@ int do_xxscanf (const wchar_t *fname, FILE *fp, const wchar_t *format, int *narg
         wchar_t *f2 = sformat;
         wchar_t *slast = sformat + MAX_STR - 1 - 4;
 
-        int bFirst = 1;
+        int bFirst = 0;
         while (*f1 != L'\0')
         {
             int n;
@@ -439,6 +442,10 @@ int do_xxscanf (const wchar_t *fname, FILE *fp, const wchar_t *format, int *narg
         }
     }
 
+    if (*retval == 0)
+    {
+        return DO_XXPRINTF_MISMATCH;
+    }
     return 0;
 }