* Bug 14498 fixed: size([],3) returned 1 instead of 0 40/21040/3
Samuel GOUGEON [Thu, 18 Jul 2019 16:16:42 +0000 (18:16 +0200)]
  http://bugzilla.scilab.org/14498

Change-Id: I2cfce9306d1a268a1374ec34f851c0fa71c21103

scilab/CHANGES.md
scilab/modules/elementary_functions/sci_gateway/cpp/sci_size.cpp
scilab/modules/elementary_functions/tests/nonreg_tests/bug_14498.tst [new file with mode: 0644]

index 0c823bb..fec4198 100644 (file)
@@ -142,6 +142,7 @@ Bug Fixes
 * [#2694](http://bugzilla.scilab.org/show_bug.cgi?id=2694): `bitget` did not accept positive integers of types int8, int16 or int32.
 * [#8784](http://bugzilla.scilab.org/show_bug.cgi?id=8784): Automatic self-adjusting blocks `SCALE_CSCOPE` & `SCALE_CMSCOPE` in Xcos.
 * [#9673](http://bugzilla.scilab.org/show_bug.cgi?id=9673): Priority of colon `:` operator was too low
+* [#14498](http://bugzilla.scilab.org/show_bug.cgi?id=14498): `size([],3)` returned 1 instead of 0.
 * [#14604](http://bugzilla.scilab.org/show_bug.cgi?id=14604): `emptystr()` is 40x slower with 6.0.0 wrt 5.5.2
 * [#14605](http://bugzilla.scilab.org/show_bug.cgi?id=14605): fixed - `bench_run` was too strict about the specification of tests names.
 * [#14606](http://bugzilla.scilab.org/show_bug.cgi?id=14606): Memory used by variables returned by `[names,mem]=who()` was always zero.
index a220dd4..4588278 100644 (file)
@@ -140,7 +140,7 @@ types::Function::ReturnValue sci_size(types::typed_list &in, int _iRetCount, typ
                     default : //"r"
                         if (iMode > iDims)
                         {
-                            pdbl[0] = 1;
+                            pdbl[0] = (piDims[0]==0)? 0 : 1;
                             out.push_back(pD);
                             return types::Function::OK;
                         }
diff --git a/scilab/modules/elementary_functions/tests/nonreg_tests/bug_14498.tst b/scilab/modules/elementary_functions/tests/nonreg_tests/bug_14498.tst
new file mode 100644 (file)
index 0000000..f259f25
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2019 - Samuel GOUGEON
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+//
+// <-- Non-regression test for bug 14498 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14498
+//
+// <-- Short Description -->
+// size([],3) returned 1 instead of 0
+
+assert_checkequal(size([],3), 0)