sscanf function removed. (obsolete) 02/12402/3
Cedric Delamarre [Mon, 2 Sep 2013 09:56:10 +0000 (11:56 +0200)]
Change-Id: Ia753dfee5995fb5b23644814061c5e9d399e6828

13 files changed:
scilab/CHANGES_5.5.X
scilab/modules/fileio/help/en_US/fscanf.xml
scilab/modules/fileio/help/en_US/sscanf.xml [deleted file]
scilab/modules/fileio/help/ja_JP/fscanf.xml
scilab/modules/fileio/help/ja_JP/scanf.xml
scilab/modules/fileio/help/ja_JP/sscanf.xml [deleted file]
scilab/modules/fileio/help/pt_BR/sscanf.xml [deleted file]
scilab/modules/fileio/help/ru_RU/fscanf.xml
scilab/modules/fileio/help/ru_RU/sscanf.xml [deleted file]
scilab/modules/fileio/macros/scanf.sci
scilab/modules/fileio/macros/sscanf.sci [deleted file]
scilab/modules/fileio/tests/unit_tests/sscanf.dia.ref [deleted file]
scilab/modules/fileio/tests/unit_tests/sscanf.tst [deleted file]

index 0d4ffe2..279b94c 100644 (file)
@@ -89,6 +89,7 @@ Obsolete
 * chart() tagged as obsolete. Will be removed for Scilab 5.5.1.
   Use nicholschart() instead.
 
+* sscanf is obsolete, use msscanf instead.
 
 Differential_equations
 ======================
index def5727..fd667b3 100644 (file)
@@ -3,11 +3,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2008 - 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
  *
  -->
@@ -55,7 +55,7 @@
         <para>
             The <function>fscanf</function> function reads character data on the file specified by the
             <varname>file</varname> argument, interprets it according
-            to a <varname>format</varname>, and returns the converted results.  
+            to a <varname>format</varname>, and returns the converted results.
         </para>
         <para>
             The <varname>format</varname> parameter contains conversion specifications
@@ -91,7 +91,7 @@
             </revision>
         </revhistory>
     </refsection>
-    
+
     <refsection role="see also">
         <title>See Also</title>
         <simplelist type="inline">
                 <link linkend="scanf">scanf</link>
             </member>
             <member>
-                <link linkend="sscanf">sscanf</link>
+                <link linkend="msscanf">msscanf</link>
             </member>
             <member>
                 <link linkend="mfscanf">mfscanf</link>
diff --git a/scilab/modules/fileio/help/en_US/sscanf.xml b/scilab/modules/fileio/help/en_US/sscanf.xml
deleted file mode 100644 (file)
index 38f0112..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) XXXX-2008 - 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="sscanf">
-    <refnamediv>
-        <refname>sscanf</refname>
-        <refpurpose>
-            converts formatted input given by a string. <emphasis role="bold">This function is obsolete</emphasis>.
-        </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Calling Sequence</title>
-        <synopsis>[v_1, ..., v_n] = sscanf(string, format)</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Arguments</title>
-        <variablelist>
-            <varlistentry>
-                <term>format</term>
-                <listitem>
-                    <para>specifies the format conversion.</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>string</term>
-                <listitem>
-                    <para>specifies input to be read.</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>v_1, ..., v_n</term>
-                <listitem>
-                    <para>converted results.</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Description</title>
-        <para>
-            <caution>
-                This function is obsolete and will be removed in Scilab 5.5.0, use preferably the 
-                <link linkend="msscanf">msscanf</link> function which is more efficient and 
-                is more compatible with the C <function>sscanf</function> 
-                procedure.
-            </caution>
-        </para>
-        <para>
-            The <function>sscanf</function> function interprets character string  
-            according to a <varname>format</varname>, and returns the converted 
-            results <varname>v_1</varname>, ..., <varname>v_n</varname>.
-        </para>
-        <para>
-            The <varname>format</varname> parameter contains conversion 
-            specifications used to interpret the input.
-        </para>
-        <para>
-            The <varname>format</varname> parameter can contain
-            white-space characters (blanks, tabs, newline, or formfeed)
-            that, except in the following two cases, read the input up to the
-            next nonwhite-space character. Unless there is a match in the control
-            string, trailing white-space (including a newline character) is not
-            read.
-        </para>
-        <itemizedlist>
-            <listitem>
-                <para>
-                    Any character except <literal>%</literal> (percent sign), which 
-                    must match the next character of the input stream.
-                </para>
-            </listitem>
-            <listitem>
-                <para>
-                    A conversion specification that directs the conversion of the 
-                    next input field. See <link linkend="scanf_conversion">scanf_conversion</link> for details.
-                </para>
-            </listitem>
-        </itemizedlist>
-    </refsection>
-    <refsection>
-        <title>History</title>
-        <revhistory>
-            <revision>
-                <revnumber>5.4.1</revnumber>
-                <revremark>Function tagged as obsolete. Will be removed in 5.5.0.</revremark>
-            </revision>
-        </revhistory>
-    </refsection>
-    
-    <refsection role="see also">
-        <title>See Also</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="mprintf">mprintf</link>
-            </member>
-            <member>
-                <link linkend="mfscanf">mfscanf</link>
-            </member>
-            <member>
-                <link linkend="scanf_conversion">scanf_conversion</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index b618dde..f5fb6f1 100644 (file)
@@ -3,11 +3,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2008 - 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
  *
  -->
@@ -83,7 +83,7 @@
                 <link linkend="scanf">scanf</link>
             </member>
             <member>
-                <link linkend="sscanf">sscanf</link>
+                <link linkend="msscanf">msscanf</link>
             </member>
             <member>
                 <link linkend="mfscanf">mfscanf</link>
index cc504bd..401dbdd 100644 (file)
@@ -3,11 +3,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2008 - 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
  *
  -->
@@ -50,7 +50,7 @@
         </para>
         <itemizedlist>
             <listitem>
-                <para>% (パーセント記号)以外の任意の文字, 
+                <para>% (パーセント記号)以外の任意の文字,
                     入力ストリームの次の文字に一致する必要があります.
                 </para>
             </listitem>
                 <link linkend="read">read</link>
             </member>
             <member>
-                <link linkend="fscanf">fscanf</link>
+                <link linkend="mfscanf">mfscanf</link>
             </member>
             <member>
-                <link linkend="sscanf">sscanf</link>
+                <link linkend="msscanf">msscanf</link>
             </member>
             <member>
                 <link linkend="scanf_conversion">scanf_conversion</link>
diff --git a/scilab/modules/fileio/help/ja_JP/sscanf.xml b/scilab/modules/fileio/help/ja_JP/sscanf.xml
deleted file mode 100644 (file)
index e374ba8..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) XXXX-2008 - 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="sscanf">
-    <refnamediv>
-        <refname>sscanf</refname>
-        <refpurpose>文字列で指定した入力をフォーマット変換</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>呼び出し手順</title>
-        <synopsis>[v_1,...v_n]=sscanf (string,format)</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>パラメータ</title>
-        <variablelist>
-            <varlistentry>
-                <term>format</term>
-                <listitem>
-                    <para>フォーマット変換を指定.</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>string</term>
-                <listitem>
-                    <para>読み込む入力を指定.</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>説明</title>
-        <para>
-            この関数は古い関数であり, より効率的でC言語の<literal>sscanf</literal>
-            プロシージャとの互換性がより高い <literal>msscanf</literal>関数の
-            使用を推奨します.
-        </para>
-        <para>
-            sscanf 関数は format に基づき文字列を解釈し,
-            変換した結果を返します.
-        </para>
-        <para>
-            format パラメータには,入力を解釈する際に使用される
-            変換指定子が含まれます.
-        </para>
-        <para>
-            formatパラメータには空白文字 (空白,タブ,改行,またはフォームフィード)
-            が含まれ,以下の2つの場合を除き次の
-            非空白文字まで読み込みます.
-            制御文字に一致しない限り,
-            (改行文字を含む)末尾の空白文字は読み込まれません.
-        </para>
-        <itemizedlist>
-            <listitem>
-                <para>
-                    % (パーセント記号)以外の任意の文字で,
-                    入力ストリームの次の文字に一致する必要があります.
-                </para>
-            </listitem>
-            <listitem>
-                <para>次の入力フィールドの変換を指示する変換指定子.
-                    詳細は <link linkend="scanf_conversion">scanf_conversion</link> 参照.
-                </para>
-            </listitem>
-        </itemizedlist>
-    </refsection>
-    <refsection role="see also">
-        <title>参照</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="mprintf">mprintf</link>
-            </member>
-            <member>
-                <link linkend="msscanf">msscanf</link>
-            </member>
-            <member>
-                <link linkend="mfscanf">mfscanf</link>
-            </member>
-            <member>
-                <link linkend="scanf_conversion">scanf_conversion</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/fileio/help/pt_BR/sscanf.xml b/scilab/modules/fileio/help/pt_BR/sscanf.xml
deleted file mode 100644 (file)
index 32ff122..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) XXXX-2008 - 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="sscanf" xml:lang="en">
-    <refnamediv>
-        <refname>sscanf</refname>
-        <refpurpose>converte entrada formatada fornecida por um
-            string
-        </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Seqüência de Chamamento</title>
-        <synopsis>[v_1,...v_n]=sscanf (string,format)</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Parameters</title>
-        <variablelist>
-            <varlistentry>
-                <term>format</term>
-                <listitem>
-                    <para> especifica a conversão de formato</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>string</term>
-                <listitem>
-                    <para> especifica a entrada a ser lida</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Descrição</title>
-        <para>
-            Esta função está obsoleta, use a função <literal>msscanf</literal>
-            de preferência, que é mais eficiente mais compatível com o procedimento C
-            <literal>sscanf</literal>.
-        </para>
-        <para>A função sscanf intepreta um string de acordo com um formato, e
-            retorna os resultados convertidos.
-        </para>
-        <para>O parâmetro de formato contém especificações de conversão utilizadas
-            para interpretar a saída.
-        </para>
-        <para>O parâmetro de formato pode conter caracteres em branco (espaços,
-            tabulações, novas linhas, quebra de página) os quais, exceto nos dois
-            casos seguintes, lê a entrada até o próximo caractere preenchido. A menos
-            que haja uma correspondência no string de controle, espaços em branco
-            (incluindo caractere de nova linha) vindo por último não são lidos.
-        </para>
-        <itemizedlist>
-            <listitem>
-                <para>Qualquer caractere exceto % (sinal de porcento), que deve
-                    corresponder ao próximo caractere do fluxo de entrada.
-                </para>
-            </listitem>
-            <listitem>
-                <para>Uma especificação de conversão que direciona a conversão do
-                    próximo campo de entrada. Ver <link linkend="scanf_conversion">scanf_conversion</link> para
-                    detalhes.
-                </para>
-            </listitem>
-        </itemizedlist>
-    </refsection>
-    <refsection role="see also">
-        <title>Ver Também</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="mprintf">mprintf</link>
-            </member>
-            <member>
-                <link linkend="msscanf">msscanf</link>
-            </member>
-            <member>
-                <link linkend="mfscanf">mfscanf</link>
-            </member>
-            <member>
-                <link linkend="scanf_conversion">scanf_conversion</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index 2158272..984ee0c 100644 (file)
@@ -3,11 +3,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2008 - 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
  *
  -->
@@ -37,8 +37,8 @@
                 <term>file</term>
                 <listitem>
                     <para>
-                        символьная строка, указывающая имя файла, или целое число, 
-                        указывающее логическое устройство, возвращённое функцией 
+                        символьная строка, указывающая имя файла, или целое число,
+                        указывающее логическое устройство, возвращённое функцией
                         <function>mopen</function>.
                     </para>
                 </listitem>
@@ -53,7 +53,7 @@
             </warning>
         </para>
         <para>
-            Функция <function>fscanf</function> считывает символьные данные в файле, определённом аргументом <varname>file</varname>, интерпретирует их в соответствии с форматом <varname>format</varname>, и возвращает преобразованные результаты.  
+            Функция <function>fscanf</function> считывает символьные данные в файле, определённом аргументом <varname>file</varname>, интерпретирует их в соответствии с форматом <varname>format</varname>, и возвращает преобразованные результаты.
         </para>
         <para>
             Параметр <varname>format</varname> содержит спецификации преобразования, используемые для интерпретации ввода.
@@ -87,7 +87,7 @@
                 <link linkend="scanf">scanf</link>
             </member>
             <member>
-                <link linkend="sscanf">sscanf</link>
+                <link linkend="msscanf">msscanf</link>
             </member>
             <member>
                 <link linkend="mfscanf">mfscanf</link>
diff --git a/scilab/modules/fileio/help/ru_RU/sscanf.xml b/scilab/modules/fileio/help/ru_RU/sscanf.xml
deleted file mode 100644 (file)
index 0cf85f8..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) XXXX-2008 - 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ru" xml:id="sscanf">
-    <refnamediv>
-        <refname>sscanf</refname>
-        <refpurpose>
-            Преобразует форматированный ввод, указанный в виде строки. 
-            <emphasis role="bold">Эта функция устарела</emphasis>.
-        </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Последовательность вызова</title>
-        <synopsis>[v_1, ..., v_n] = sscanf(string, format)</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Аргументы</title>
-        <variablelist>
-            <varlistentry>
-                <term>format</term>
-                <listitem>
-                    <para>определяет формат преобразования.</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>string</term>
-                <listitem>
-                    <para>определяет ввод, который следует прочитать</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>v_1, ..., v_n</term>
-                <listitem>
-                    <para>результаты преобразования.</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Описание</title>
-        <para>
-            <caution>
-                Эта функция устарела и будет удалена в Scilab 5.5.0, 
-                лучше использовать функцию <function>msscanf</function>, 
-                которая более эффективна и более совместима с C-функцией 
-                <function>sscanf</function>.
-            </caution>
-        </para>
-        <para>
-            Функция <function>sscanf</function> интерпретирует символьную 
-            строку в соответствии с форматом <varname>format</varname>, и 
-            возвращает результаты преобразования <varname>v_1</varname>, ..., 
-            <varname>v_n</varname>.
-        </para>
-        <para>
-            Параметр <varname>format</varname> содержит спецификации 
-            преобразования, используемые для интерпретации ввода.
-        </para>
-        <para>
-            Параметр <varname>format</varname> может содержать символы пробелов 
-            (пробелы, табуляторы, символы перевода строки и прогона страницы), 
-            которые, за исключением двух следующих случаев, считывают ввод до 
-            следующего символа-непробела. За исключением совпадения с 
-            управляющей строкой, завершающие пробелы (включая символы новой 
-            строки) не считываются.
-        </para>
-        <itemizedlist>
-            <listitem>
-                <para>
-                    Любой символ, за исключением <literal>%</literal> (знак 
-                    "процент"), который должен соответствовать следующему символу 
-                    входного потока.
-                </para>
-            </listitem>
-            <listitem>
-                <para>
-                    Спецификация преобразования, которая направляет 
-                    преобразование следующего входного поля. См. подробности в 
-                    <link linkend="scanf_conversion">преобразовании scanf</link>.
-                </para>
-            </listitem>
-        </itemizedlist>
-    </refsection>
-    <refsection>
-        <title>История</title>
-        <revhistory>
-            <revision>
-                <revnumber>5.4.1</revnumber>
-                <revremark>
-                    Функция помечена как устаревшая. Будет удалена в 5.5.0.
-                </revremark>
-            </revision>
-        </revhistory>
-    </refsection>
-    <refsection role="see also">
-        <title>Смотрите также</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="mprintf">mprintf</link>
-            </member>
-            <member>
-                <link linkend="mfscanf">mfscanf</link>
-            </member>
-            <member>
-                <link linkend="scanf_conversion">преобразование scanf</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
-
index 0f37783..f9abef9 100644 (file)
@@ -16,5 +16,5 @@ function [v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,..
     v="v"
     args=strcat(v(ones(lhs,1))+string(1:lhs)',",")
     buf=read(%io(1),1,1,"(a)")
-    execstr("["+args+"]=sscanf(buf,frmt)")
+    execstr("["+args+"]=msscanf(buf,frmt)")
 endfunction
diff --git a/scilab/modules/fileio/macros/sscanf.sci b/scilab/modules/fileio/macros/sscanf.sci
deleted file mode 100644 (file)
index f1cb653..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) XXXX-2008 - INRIA
-// Copyright (C) 2008 - 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
-
-
-function varargout = sscanf(buf, frmt)
-
-    // sscanf - Emulator of C language sscanf
-
-    warnobsolete("msscanf","5.5.0");
-
-    [lhs,rhs]  = argn(0);
-    MAXLHS = 50;
-    if lhs > MAXLHS then
-        error(999, msprintf(gettext("%s: Wrong number of output argument(s).\n"),"sscanf"));x
-    end
-
-    hexdigits  = [string(0:9),"a","b","c","d","e","f","A","B","C","D","E","F"]
-    hexvalues  = [0:15,10,11,12,13,14,15];
-    kbuf       = 1;
-
-    sbuf       = length(buf);
-    nv         = lhs;
-
-    if type(buf)<>10 then
-        error(999, msprintf(gettext("%s: Wrong type for input argument #%d: A String expected.\n"),"sscanf",1));
-    end
-
-    if size(buf,"*")<>1 then
-        error(999, msprintf(gettext("%s: Wrong size for input argument #%d: A String expected.\n"),"sscanf",1));
-    end
-
-    if type(frmt)<>10 then
-        error(999, msprintf(gettext("%s: Wrong type for input argument #%d: A String expected.\n"),"sscanf",2));
-    end
-
-    if size(frmt,"*")<>1 then
-        error(999, msprintf(gettext("%s: Wrong size for input argument #%d: A String expected.\n"),"sscanf",2));
-    end
-
-    lb          = 1;
-    lfmt        = length(frmt);
-    il          = 0;
-    count       = 0; // argument counter
-
-    while il <= lfmt do
-
-        [str, flags, width, typemod, scanfconversiontype, err] = next_scanf_format();
-
-        if err==1 then
-            error(msprintf(gettext("%s: Incorrect format.\n")),"sscanf");
-        end
-
-        str = strcat(str);
-        ns  = length(str);
-
-        if part(buf,lb:lb+ns-1)<>str then
-            error(msprintf(gettext("%s: Invalid conversion.\n")),"sscanf");
-        end
-
-        lb=lb+ns
-
-        if scanfconversiontype<>[] then
-            [v,nc,err] = next_scanf_value(part(buf,lb:sbuf),str,flags,width,typemod,scanfconversiontype)
-            if err==1 then
-                error(msprintf(gettext("%s: end of input reached before final conversion.\n")),"sscanf");
-            elseif err==2 then
-                error(msprintf(gettext("%s: Invalid conversion.\n")),"sscanf");
-            end
-            if v<>[] then
-                count=count+1;
-                execstr("v"+string(count)+"=v");
-            end
-            lb = lb+nc-1;
-        end
-    end
-
-    for k=count+1:lhs
-        execstr("v"+string(k)+"=[]");
-    end
-
-    v = "v";
-    args = strcat( v(ones(count,1)) + string(1:count)',",");
-    execstr("varargout = list(" + args + ");");
-
-endfunction
-
-
-// =============================================================================
-// next_scanf_value
-// =============================================================================
-
-function [v, lb, err] = next_scanf_value(buf, str, flags, width, typemod, scanfconversiontype)
-
-    intf   = ["d","i","o","u","x","X"]
-    floatf = ["f","e","E","g","G"]
-    strf   = ["c","s"]
-    lbuf   = length(buf);
-
-    if width==[] | width==0 then
-        width=length(buf);
-    end
-
-    err = 0;
-    cc  = convstr(scanfconversiontype,"l");
-    lb  = 1;
-    x   = emptystr();
-
-    if cc<>"c" then //skip initial blanks
-        while %t do
-            ch = part(buf,lb);
-            if ch==" "&lb<=lbuf then
-                lb=lb+1
-            elseif ch=="\"&part(buf,lb+1)=="n" then
-                lb=lb+2
-            else
-                break;
-            end
-        end
-        if lb>lbuf then
-            err=1
-            v=[];
-            return;
-        end
-    end
-
-    if cc=="d"|cc=="i"|cc=="u" then
-        ll = 0;
-        ch = part(buf,lb);
-
-        if ch=="+" | ch=="-" then
-            if cc=="u"&ch=="-" then
-                err = 2;
-                v   = [];
-                return;
-            else
-                x   = x+ch;
-                lb  = lb+1;
-                ll  = ll+1;
-            end
-        end
-
-        while isdigit(part(buf,lb))&ll<width&lb<=lbuf do
-            x  = x+part(buf,lb);
-            lb = lb+1;
-            ll = ll+1;
-        end
-
-        if length(x)>0 then
-            v = evstr(x);
-        else
-            v = [];
-        end
-
-
-    elseif cc=="o" then
-
-        ll =0;
-        v  =0
-
-        while isdigit(part(buf,lb))&ll<width&lb<=lbuf do
-            v=8*v+evstr(part(buf,lb))
-            lb=lb+1
-            ll=ll+1
-        end
-
-
-
-    elseif cc=="x" then
-
-        ll = 0;
-        v  = 0;
-        c  = part(buf,lb);
-        k  = find(c==hexdigits);
-
-        while k<>[] & ll<width & lb<=lbuf do
-            v   = 16*v+hexvalues(k);
-            lb  = lb+1;
-            ll  = ll+1;
-            c   = part(buf,lb);
-            k   = find(c==hexdigits);
-        end
-
-
-    elseif cc=="f"|cc=="e"|cc=="g" then
-
-        ll = 0;
-        ch = part(buf,lb)
-
-        if ch=="+"|ch=="-" then
-            x  = x+ch;
-            lb = lb+1;
-            ll = ll+1;
-        end
-
-        if part(buf,lb:min(lb+2,lb+width-ll))=="INF" then
-            v  = %inf;
-            lb = lb+3;
-
-        elseif part(buf,lb:min(lb+2,lb+width-ll))=="NaN"
-            v  = %nan;
-            lb = lb+3;
-
-        else
-
-            while isdigit(part(buf,lb))&ll<width&lb<=lbuf do
-                x  = x  + part(buf,lb);
-                lb = lb + 1;
-                ll = ll + 1;
-            end
-
-            ch = part(buf,lb);
-
-            if ch=="." & ll<width & lb<=lbuf then
-                x  = x  + ".";
-                lb = lb + 1;
-                ll = ll + 1;
-
-                while isdigit(part(buf,lb))&ll<width&lb<=lbuf do
-                    x  = x  + part(buf,lb);
-                    lb = lb + 1;
-                    ll = ll + 1;
-                end
-
-            end
-
-            ch=part(buf,lb)
-
-            if (ch=="e"|ch=="E")&ll<width&lb<=lbuf then
-
-                x  = x  + "e";
-                lb = lb + 1;
-                ll = ll + 1;
-                ch = part(buf,lb);
-
-                if (ch=="+"|ch=="-") & ll<width & lb<=lbuf then
-                    x  = x+ch;
-                    lb = lb+1;
-                    ll = ll+1;
-                end
-
-                while isdigit(part(buf,lb))&ll<width&lb<=lbuf do
-                    x  = x  + part(buf,lb);
-                    lb = lb + 1;
-                    ll = ll + 1;
-                end
-
-            end
-
-            if length(x)>0 then
-                v=evstr(x)
-            else
-                v=[]
-            end
-        end
-
-    elseif cc=="c" then
-
-        if lb>lbuf then
-            err=1
-            return
-        end
-
-        v=part(buf,lb);
-
-    elseif cc=="s" then
-        ll=0
-        ch=part(buf,lb)
-        while ch<>" "&lb<=lbuf&ll<width do
-            x  = x+ch;
-            lb = lb+1;
-            ll = ll+1;
-            ch = part(buf,lb);
-        end
-
-        v = x;
-    end
-
-    if flags=="*" then
-        v=[];
-    end
-
-endfunction
-
-
-// =============================================================================
-// next_scanf_format
-// =============================================================================
-
-function [str, flags, width, typemod, scanfconversiontype, err] = next_scanf_format()
-
-    //Scan frmt for % escapes and print out the arguments.
-    err     = 0;
-    str     = emptystr();
-    kstr    = 1;
-    width   = [];
-    prec    = [];
-    flags   = [];
-    typemod = [];
-    scanfconversiontype = [];
-    il      = il+1;
-
-    if il>lfmt then
-        [il,count] = resume(il,count);
-    end
-
-    c = part(frmt,il);
-
-    while c<>"%" then
-        if c=="\" then
-            if part(frmt,il+1)=="n" then
-                str  = [str;emptystr()];
-                kstr = kstr+1
-            end
-            il=il+1;
-        else
-            str(kstr)=str(kstr)+c
-        end
-
-        il=il+1
-
-        if il>lfmt then break, end
-
-        c=part(frmt,il);
-    end
-
-    if il>lfmt then
-        [il,count] = resume(il,count);
-    end
-
-    if part(frmt,il+1)=="%" then
-        str(kstr)  = str(kstr)+"%";
-        il         = il+1;
-        [il,count] = resume(il,count);
-    end
-
-    //beginning of a format
-
-    //get flags
-    flags = [];
-    il    = il+1;
-    c     = part(frmt,il);
-
-    if c=="*" then
-        flags = "*";
-        il    = il+1;
-        c     = part(frmt,il)
-    end
-
-    width = [];
-
-    if isdigit(c) then
-        // get width
-        width = 0;
-        while isdigit(c) do
-            width = 10*width+evstr(c);
-            il    = il+1;
-            if il>lfmt then
-                err=1;
-                return;
-            end
-            c = part(frmt,il)
-        end
-    end
-
-    // get type modifier
-    typemod = [];
-    if c=="l"| c=="L"|c=="h" then
-        typemod = c;
-        il      = il+1;
-
-        if il>lfmt then
-            err=1;
-            return;
-        end
-
-        c = part(frmt,il);
-    end
-
-    //get conversion
-    scanfconversiontype       = c;
-    [il, count] = resume(il, count);
-
-endfunction
diff --git a/scilab/modules/fileio/tests/unit_tests/sscanf.dia.ref b/scilab/modules/fileio/tests/unit_tests/sscanf.dia.ref
deleted file mode 100644 (file)
index cc3e462..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2008 - DIGITEO - Allan CORNET
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- CLI SHELL MODE -->
-wMode = warning("query");
-warning("off");
-n = 50;
-nstr = strcat(string(1:n),' ');
-fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
-ierr = execstr("sscanf(1,''%d'')", "errcatch");
-if ierr <> 999 then bugmes();quit;end
-[A1, A2, A3, A4, A5, A6, A7, A8] = sscanf(nstr, fstr);
-ref = 1:8 ;
-if or([A1, A2, A3, A4, A5, A6, A7, A8] <> ref) then bugmes();quit;end
-v = 'v';
-args = strcat( v(ones(n,1)) + string(1:n)',',');
-ierr = execstr('[' + args + '] = sscanf(nstr, fstr);','errcatch');
-ref = 1:n ;
-ierr = execstr('r = or([' + args + '] <> ref)','errcatch');
-if ierr <> 0 then bugmes();quit;end
-if r <> %f then bugmes();quit;end
-n = 500;
-nstr = strcat(string(1:n),' ');
-fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
-v = 'v';
-args = strcat( v(ones(n,1)) + string(1:n)',',');
-ierr = execstr('[' + args + '] = sscanf(nstr, fstr);','errcatch');
-if ierr <> 999 then bugmes();quit;end
-n = 50;
-nstr = strcat(string(1:n),' ');
-fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
-mputl(nstr,TMPDIR+'/fscanf.txt');
-[A1, A2, A3, A4, A5, A6, A7, A8] = fscanf(TMPDIR+'/fscanf.txt',fstr);
-ref = 1:8 ;
-if or([A1, A2, A3, A4, A5, A6, A7, A8] <> ref) then bugmes();quit;end
-v = 'v';
-args = strcat( v(ones(n,1)) + string(1:n)',',');
-ierr = execstr('[' + args + '] = fscanf(TMPDIR+''/fscanf.txt'', fstr);','errcatch');
-ref = 1:n ;
-ierr = execstr('r = or([' + args + '] <> ref)','errcatch');
-if ierr <> 0 then bugmes();quit;end
-if r <> %f then bugmes();quit;end
-n = 500;
-nstr = strcat(string(1:n),' ');
-fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
-v = 'v';
-args = strcat( v(ones(n,1)) + string(1:n)',',');
-ierr = execstr('[' + args + '] = fscanf(TMPDIR+''/fscanf.txt'', fstr);','errcatch');
-if ierr <> 999 then bugmes();quit;end
-//test format %i %d
-if sscanf('123','%i')<>123 then bugmes();quit;end
-if sscanf('     123','%i')<>123 then bugmes();quit;end
-if sscanf('123','%2i')<>12 then bugmes();quit;end
-if sscanf('123','%0i')<>123 then bugmes();quit;end
-if sscanf('123','%5i')<>123 then bugmes();quit;end
-//test format %u
-if sscanf('+123','%u')<>123 then bugmes();quit;end
-if sscanf(' 123','%2u')<>12 then bugmes();quit;end
-if sscanf('123','%0u')<>123 then bugmes();quit;end
-if sscanf('+123','%5u')<>123 then bugmes();quit;end
-//test format %e %f %g
-if sscanf('123','%e')<>123 then bugmes();quit;end
-if sscanf('     123','%e')<>123 then bugmes();quit;end
-if sscanf('123','%2e')<>12 then bugmes();quit;end
-if sscanf('123','%0e')<>123 then bugmes();quit;end
-if sscanf('123','%5e')<>123 then bugmes();quit;end
-//test format %s
-if sscanf('123','%s')<>'123' then bugmes();quit;end
-if sscanf('     123','%s')<>'123' then bugmes();quit;end
-if sscanf('123','%2s')<>'12' then bugmes();quit;end
-if sscanf('123','%0s')<>'123' then bugmes();quit;end
-if sscanf('123','%5s')<>'123' then bugmes();quit;end
-//test format %o
-if sscanf('123','%o')<>83 then bugmes();quit;end
-if sscanf('     123','%o')<>83 then bugmes();quit;end
-if sscanf('123','%2o')<>10 then bugmes();quit;end
-if sscanf('123','%0o')<>83 then bugmes();quit;end
-if sscanf('123','%5o')<>83 then bugmes();quit;end
-//test format %x
-if sscanf('123','%x')<>291 then bugmes();quit;end
-if sscanf('     123','%x')<>291 then bugmes();quit;end
-if sscanf('123','%2x')<>18 then bugmes();quit;end
-if sscanf('123','%0x')<>291 then bugmes();quit;end
-if sscanf('123','%5x')<>291 then bugmes();quit;end
-//test format %c
-if sscanf('123','%c')<>'1' then bugmes();quit;end
-if sscanf('     123','%c')<>' ' then bugmes();quit;end
-if sscanf('123','%0c')<>'1' then bugmes();quit;end
-//test des format complexes 
-if sscanf('123 4','%*s%s')<>'4' then bugmes();quit;end
-if sscanf('123 4','123%e')<>4 then bugmes();quit;end
-[a,b,c]=sscanf('xxxxx 4 test 23.45','xxxxx%i%s%e')
- c  =
-    23.45  
- b  =
- test   
- a  =
-    4.  
-if a<>4|b<>'test'|c<>23.45 then bugmes();quit;end
-[a,b]=sscanf('123\n456','%e%e')
- b  =
-    456.  
- a  =
-    123.  
-if a<>123|b<>456 then bugmes();quit;end
-warning(wMode);
diff --git a/scilab/modules/fileio/tests/unit_tests/sscanf.tst b/scilab/modules/fileio/tests/unit_tests/sscanf.tst
deleted file mode 100644 (file)
index 2fce20f..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2008 - DIGITEO - Allan CORNET
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-// <-- CLI SHELL MODE -->
-
-wMode = warning("query");
-warning("off");
-
-n = 50;
-nstr = strcat(string(1:n),' ');
-fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
-
-ierr = execstr("sscanf(1,''%d'')", "errcatch");
-if ierr <> 999 then pause,end
-
-[A1, A2, A3, A4, A5, A6, A7, A8] = sscanf(nstr, fstr);
-ref = 1:8 ;
-if or([A1, A2, A3, A4, A5, A6, A7, A8] <> ref) then pause,end
-
-v = 'v';
-args = strcat( v(ones(n,1)) + string(1:n)',',');
-ierr = execstr('[' + args + '] = sscanf(nstr, fstr);','errcatch');
-ref = 1:n ;
-ierr = execstr('r = or([' + args + '] <> ref)','errcatch');
-if ierr <> 0 then pause,end
-if r <> %f then pause,end
-
-n = 500;
-nstr = strcat(string(1:n),' ');
-fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
-v = 'v';
-args = strcat( v(ones(n,1)) + string(1:n)',',');
-ierr = execstr('[' + args + '] = sscanf(nstr, fstr);','errcatch');
-if ierr <> 999 then pause,end
-
-n = 50;
-nstr = strcat(string(1:n),' ');
-fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
-
-mputl(nstr,TMPDIR+'/fscanf.txt');
-[A1, A2, A3, A4, A5, A6, A7, A8] = fscanf(TMPDIR+'/fscanf.txt',fstr);
-ref = 1:8 ;
-if or([A1, A2, A3, A4, A5, A6, A7, A8] <> ref) then pause,end
-
-v = 'v';
-args = strcat( v(ones(n,1)) + string(1:n)',',');
-ierr = execstr('[' + args + '] = fscanf(TMPDIR+''/fscanf.txt'', fstr);','errcatch');
-ref = 1:n ;
-ierr = execstr('r = or([' + args + '] <> ref)','errcatch');
-if ierr <> 0 then pause,end
-if r <> %f then pause,end
-
-n = 500;
-nstr = strcat(string(1:n),' ');
-fstr = strcat(strsubst(string(ones(1,n)),'1','%d'), ' ');
-v = 'v';
-args = strcat( v(ones(n,1)) + string(1:n)',',');
-ierr = execstr('[' + args + '] = fscanf(TMPDIR+''/fscanf.txt'', fstr);','errcatch');
-if ierr <> 999 then pause,end
-
-//test format %i %d
-if sscanf('123','%i')<>123 then pause,end
-if sscanf('     123','%i')<>123 then pause,end
-if sscanf('123','%2i')<>12 then pause,end
-if sscanf('123','%0i')<>123 then pause,end
-if sscanf('123','%5i')<>123 then pause,end
-//test format %u
-if sscanf('+123','%u')<>123 then pause,end
-if sscanf(' 123','%2u')<>12 then pause,end
-if sscanf('123','%0u')<>123 then pause,end
-if sscanf('+123','%5u')<>123 then pause,end
-//test format %e %f %g
-
-if sscanf('123','%e')<>123 then pause,end
-if sscanf('     123','%e')<>123 then pause,end
-if sscanf('123','%2e')<>12 then pause,end
-if sscanf('123','%0e')<>123 then pause,end
-if sscanf('123','%5e')<>123 then pause,end
-
-//test format %s
-if sscanf('123','%s')<>'123' then pause,end
-if sscanf('     123','%s')<>'123' then pause,end
-if sscanf('123','%2s')<>'12' then pause,end
-if sscanf('123','%0s')<>'123' then pause,end
-if sscanf('123','%5s')<>'123' then pause,end
-
-//test format %o
-if sscanf('123','%o')<>83 then pause,end
-if sscanf('     123','%o')<>83 then pause,end
-if sscanf('123','%2o')<>10 then pause,end
-if sscanf('123','%0o')<>83 then pause,end
-if sscanf('123','%5o')<>83 then pause,end
-
-//test format %x
-if sscanf('123','%x')<>291 then pause,end
-if sscanf('     123','%x')<>291 then pause,end
-if sscanf('123','%2x')<>18 then pause,end
-if sscanf('123','%0x')<>291 then pause,end
-if sscanf('123','%5x')<>291 then pause,end
-
-//test format %c
-if sscanf('123','%c')<>'1' then pause,end
-if sscanf('     123','%c')<>' ' then pause,end
-if sscanf('123','%0c')<>'1' then pause,end
-
-//test des format complexes 
-if sscanf('123 4','%*s%s')<>'4' then pause,end
-if sscanf('123 4','123%e')<>4 then pause,end
-[a,b,c]=sscanf('xxxxx 4 test 23.45','xxxxx%i%s%e')
-if a<>4|b<>'test'|c<>23.45 then pause,end
-
-[a,b]=sscanf('123\n456','%e%e')
-if a<>123|b<>456 then pause,end
-
-warning(wMode);
\ No newline at end of file