Remove the dot notation warning when it appears in a string; 37/10337/2
steer [Mon, 28 Jan 2013 10:05:30 +0000 (11:05 +0100)]
to reproduce it define the function:
function t=foo,t="%s: almost 0.\n",endfunction

Change-Id: Ia9d789518019b54880aad2a8f952c3937ebe16fa

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

index c3ec37f..0930b42 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..4ff5136 100644 (file)
@@ -21,6 +21,6 @@
  * @param dotdet    
  * @return <ReturnValue>
  */
-int C2F(getval)(double *s, int *dotdet);
+int C2F(getval)(double *s, int *dotdet, int *opt);
 
 #endif /* __GETVAL_H__ */
index cad9902..284e2e2 100644 (file)
@@ -105,7 +105,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 +136,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