permute: check input values after input count 33/18933/2
Antoine ELIAS [Tue, 24 Jan 2017 09:17:20 +0000 (10:17 +0100)]
Change-Id: Id79826376d76c63f931fde8324fb492cf0ec289d

scilab/modules/elementary_functions/macros/permute.sci

index d393db9..aaf37ab 100644 (file)
@@ -23,11 +23,6 @@ function y = permute(x, dims)
     // 2013 - S. GOUGEON : processing rewritten, fixing http://bugzilla.scilab.org/5205
     // 2016 - S. GOUGEON : extension to rationals
 
-    if x==[] then
-        y = []
-        return
-    end
-
     // CHECKING ARGUMENTS
     // ------------------
     if argn(2) <> 2 then
@@ -35,6 +30,11 @@ function y = permute(x, dims)
         error(msprintf(msg, "permute", 2));
     end
 
+    if x==[] then
+        y = []
+        return
+    end
+
     // Verify if the size of dims corresponds to dimension of x
     if ~(or(type(dims)==[1 8]) && and(int(dims)==dims) && ..
         and(gsort(dims(:)',"g","i")==(1:max(length(dims),ndims(x))))) then