Fix bug 4658 for xinfo,xsave,sd2sci,graduate,graypolarplot,legend,legends,nf3d ...
Pierre LANDO [Tue, 20 Oct 2009 14:31:27 +0000 (16:31 +0200)]
scilab/modules/graphics/macros/graduate.sci
scilab/modules/graphics/macros/graypolarplot.sci
scilab/modules/graphics/macros/legend.sci
scilab/modules/graphics/macros/legends.sci
scilab/modules/graphics/macros/nf3d.sci
scilab/modules/graphics/macros/paramfplot2d.sci
scilab/modules/graphics/macros/sd2sci.sci
scilab/modules/graphics/macros/xinfo.sci
scilab/modules/graphics/macros/xsave.sci

index 7b9a82f..e06397b 100644 (file)
@@ -40,6 +40,9 @@ kadm=[1,2,5];nadm=prod(size(kadm))
 // ----
 //
 [lhs,rhs]=argn(0)
+if rhs <2 then
+  error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"), "graduate", 2));
+end
 if rhs <4 then
   n1=3
   n2=10
index 669f6d7..7dea700 100644 (file)
@@ -24,6 +24,10 @@ if rhs<=0 then
   return
 end
 
+if rhs<3 then
+  error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"), "graypolarplot", 3));
+end
+
 
 R=max(rho)
 nv=size(varargin)
index 3bb74cc..5cc1229 100644 (file)
@@ -7,6 +7,11 @@
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
 function c=legend(varargin)
+
+  if size(varargin)<1 then
+    error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"), "legend", 1));
+  end
+
 options_names=["in_upper_right";"in_upper_left";"in_lower_left";
               "in_lower_right";"by_coordinates";"out_upper_right";
               "out_upper_left";"out_lower_left";"out_lower_right";
@@ -27,7 +32,6 @@ options_codes=[1;2;3;
   with_box = %T;
 
 
-
   while type(varargin(k0))==9 then //a handle that could be an Axes, Agreg. or Polyline handle.
     tmpH=varargin(k0)
     if tmpH.type=='Axes' then
index f65bfd4..d0d6d4a 100644 (file)
@@ -18,13 +18,16 @@ function legends(leg, style, opt, with_box, font_size )
  
   rhs=argn(2)
  
-  if rhs < 2 then, error("bad number of arguments"), end
+  if rhs < 2 then
+    error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"), "legends", 2));
+  end
   if type(leg) ~= 10 then,
-    error("first arg may be a vector of strings"),
+    error(msprintf(gettext("%s: Wrong type for input argument #%d: String array expected.\n"), "legends", 1));
   end
   nleg=size(leg,'*')
   if type(style) ~= 1 & type(style) ~= 9 then,
     error("second argument type may be 1 or 9  "),
+    error(msprintf(gettext("%s: Wrong type for input argument #%d: Real array or graphic handle array expected.\n"), "legends", 2));
   end 
   if ~exists("opt","local") then
     opt=5
index 2d373d2..022efa6 100644 (file)
@@ -11,6 +11,11 @@ function [xx,yy,zz]=nf3d(x,y,z)
 // from facets coded in three matrices x,y,z to scilab code for facets 
 // accepted by plot3d 
 //---------------------------------------------------------
+if argn(2)<>3 then
+  error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"), "nf3d", 3));
+end
+
+
 [n1,n2]=size(x)
 ind=ones(1,n1-1).*.[0 1 n1+1 n1]+ (1:n1-1).*.[1 1 1 1];
 // ind=[1,2,n1+2,n1+1 , 2,3,n1+3,n1+2, ....  ,n1-1,n1,2n1,2n1-1
index 5e557ab..9919717 100644 (file)
@@ -24,6 +24,10 @@ function paramfplot2d(f,x,theta,flag,rect)
 //function y=f(x,t),y=abs(cos(1.5*x+4*t)).*sin(x+10*t),endfunction
 //x=linspace(0,20*%pi,500);theta=0:0.05:5;
 [lhs,rhs]=argn(0)
+if rhs<3 then
+  error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"), "paramfplot2d", 3));
+end
+
 x=x(:);
 if rhs<5 then //compute the data bounds
    xmin=min(x);xmax=max(x);
@@ -33,7 +37,7 @@ if rhs<5 then //compute the data bounds
    end
    rect=[xmin,xmax,ymin,ymax];
 end
-if rhs<43 then flag='no';end
+if rhs<4 then flag='no';end
 realtimeinit(0.1);
  
 clf();
index 02f1104..7aa63fe 100644 (file)
@@ -7,6 +7,9 @@
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
 function txt=sd2sci(sd,zoom,orig)
+if rhs<1 then
+   error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"), "sd2sci", 1));
+end
 [l,mac]=where()
 scsmode=find(mac=='scicos')<>[]
 [lhs,rhs]=argn(0)
@@ -15,7 +18,9 @@ thick=1
 fnt=[2 1]
 dash=33
 symb=[0 0]
-if sd(1)<>'sd' then error('first argument has incorrect data type'),end
+if sd(1)<>'sd' then
+   error(msprintf(gettext("%s: Wrong type for input argument #%d.\n"), "sd2sci", 1));
+end
 if rhs<3 then orig=['0';'0'],end
 if type(orig)==1 then orig=string(orig),end
 if rhs<2 then zoom=['1';'1'],end
index 6532c8a..4c25f88 100644 (file)
@@ -10,6 +10,10 @@ function xinfo( newMessage )
 // xinfo function
 // Set the text of the message bar of the current figure
 
+if argn(2)<1 then
+  error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"), "xinfo", 1));
+end
+
 curFig = gcf() ;
 curFig.info_message = newMessage ;
 
index 4417cd6..41f08f9 100644 (file)
@@ -7,6 +7,9 @@
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
 function xsave(fil,num)
+  if argn(2)<1 then
+   error(msprintf(gettext("%s: Wrong number of input argument(s): At least %d expected.\n"), "xsave", 1));
+  end
   if argn(2)<2 then
     f=gcf()
     preservecur=%f