Remove the warnig on this case 52/9752/2
Serge Steer [Wed, 21 Nov 2012 15:02:52 +0000 (16:02 +0100)]
mprintf(gettext("%s: almost 0.\n"),"linfn");

to reproduce it:
exec ./modules/cacsd/macros/linfn.sci;

Change-Id: Iddb3dc8f04e96e7276369124fff53e8cc1e159e8

scilab/modules/core/src/c/getval.c
scilab/modules/core/src/c/getval.h
scilab/modules/core/src/fortran/getsym.f

index c3ec37f..4b9e639 100644 (file)
 extern int C2F(fortrangetch)();
 
 
-int C2F(getval)(double *s, int *dotdet)
+int C2F(getval)(double *s, int *dotdet, int *opt)
 {
     /* Initialized constants */
     static double toto = 0.;
@@ -212,7 +212,7 @@ int C2F(getval)(double *s, int *dotdet)
         {
             detdot = TRUE;
             C2F(fortrangetch)();
-            if (getWarningMode())
+            if (opt == 0 && getWarningMode())
             {
                 if ((abs(C2F(com).char1) == slash) || (abs(C2F(com).char1) == bchar_slash))
                 {
index a694871..858763a 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2006 - INRIA - Sylvestre LEDRU
- * 
+ *
  * 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-en.txt
  *
  */
 /**
  * @TODO add comment
  *
- * @param s 
- * @param dotdet    
+ * @param s
+ * @param dotdet
+ * @param opt
  * @return <ReturnValue>
  */
-int C2F(getval)(double *s, int *dotdet);
+int C2F(getval)(double *s, int *dotdet, int *opt);
 
 #endif /* __GETVAL_H__ */
index cad9902..ba87da1 100644 (file)
@@ -92,7 +92,6 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
       isBlank(c)    = abs(c) .eq. blank
 
       fin=1
-
 *     go to the first "no like blank" char
       do while ( isBlank(char1) )
          call fortrangetch
@@ -105,7 +104,7 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
       if ( isDigit(char1) ) then 
 *        -> number (beginning with a digit => 2d arg of getval : dotdet = .false.)
          sym = num
-         call getval(syv, .false.)
+         call getval(syv, .false.,opt)
          stk(lstk(isiz)) = syv
 
       elseif ( isAlphaNum(char1) .or. char1.eq.percen) then
@@ -136,7 +135,7 @@ c http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
          elseif (sym.eq.dot .and. isDigit(char1)) then
 *           -> it is a number (beginning with a dot => 2d arg of getval : dotdet = .true.)
             sym = num
-            call getval(syv, .true.)
+            call getval(syv, .true.,opt)
             stk(lstk(isiz)) = syv
          endif
       endif