From de07a98f0ab0d4a9df431a0374fdf56c68634f91 Mon Sep 17 00:00:00 2001 From: Adeline CARNIS Date: Mon, 26 Sep 2016 16:44:24 +0200 Subject: [PATCH] * Bug #13878 fixed - tokens([]) returns []. Change-Id: I749e712aa0e8ead374140c1533662e15a9e4910a --- scilab/CHANGES.md | 2 ++ .../modules/string/sci_gateway/cpp/sci_tokens.cpp | 6 ++++++ .../string/tests/nonreg_tests/bug_13878.dia.ref | 17 +++++++++++++++++ .../string/tests/nonreg_tests/bug_13878.tst | 19 +++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 scilab/modules/string/tests/nonreg_tests/bug_13878.dia.ref create mode 100644 scilab/modules/string/tests/nonreg_tests/bug_13878.tst diff --git a/scilab/CHANGES.md b/scilab/CHANGES.md index 5f59299..250a6f7 100644 --- a/scilab/CHANGES.md +++ b/scilab/CHANGES.md @@ -309,6 +309,7 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox. Bug Fixes --------- +<<<<<<< HEAD ### Bugs fixed in 6.0.0: * [#2919](http://bugzilla.scilab.org/show_bug.cgi?id=2919): The `fchamp` example and demo were unclear and badly rendered * [#4327](http://bugzilla.scilab.org/show_bug.cgi?id=4327): Overloading did not support custom types names longer than 8 characters @@ -340,6 +341,7 @@ Bug Fixes * [#13597](http://bugzilla.scilab.org/show_bug.cgi?id=13597): `help format` claimed setting a number of digits instead of characters * [#13613](http://bugzilla.scilab.org/show_bug.cgi?id=13613): `isdef(name, 'l')` produced wrong output. * [#13757](http://bugzilla.scilab.org/show_bug.cgi?id=13757): The toolbox menu dit not load properly ATOMS modules not autoloaded. +* [#13878](http://bugzilla.scilab.org/show_bug.cgi?id=13878): tokens([]) returns []. * [#13895](http://bugzilla.scilab.org/show_bug.cgi?id=13895): p.a.h = 1; p.b.h = 3; p(:).h CRASH * [#13990](http://bugzilla.scilab.org/show_bug.cgi?id=13990): `warning` with localization enabled some memory corruption * [#14192](http://bugzilla.scilab.org/show_bug.cgi?id=14192): `g_margin` error-ed for double integrator. diff --git a/scilab/modules/string/sci_gateway/cpp/sci_tokens.cpp b/scilab/modules/string/sci_gateway/cpp/sci_tokens.cpp index 6f5fe0a..4523ca0 100644 --- a/scilab/modules/string/sci_gateway/cpp/sci_tokens.cpp +++ b/scilab/modules/string/sci_gateway/cpp/sci_tokens.cpp @@ -53,6 +53,12 @@ types::Function::ReturnValue sci_tokens(types::typed_list &in, int _iRetCount, t } // first arg + if (in[0]->isDouble() && in[0]->getAs()->isEmpty()) + { + out.push_back(types::Double::Empty()); + return types::Function::OK; + } + if (in[0]->isString() == false) { Scierror(999, _("%s: Wrong type for input argument #%d: String expected.\n"), "tokens", 1); diff --git a/scilab/modules/string/tests/nonreg_tests/bug_13878.dia.ref b/scilab/modules/string/tests/nonreg_tests/bug_13878.dia.ref new file mode 100644 index 0000000..570eb4b --- /dev/null +++ b/scilab/modules/string/tests/nonreg_tests/bug_13878.dia.ref @@ -0,0 +1,17 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2016 - Scilab Enterprises - Adeline CARNIS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- CLI SHELL MODE --> +// <-- Non-regression test for bug 13878 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=13878 +// +// <-- Short Description --> +// tokens([]) returns []. +// ============================================================================= +assert_checkequal(tokens([]), []); +assert_checkequal(tokens([], "a"), []); diff --git a/scilab/modules/string/tests/nonreg_tests/bug_13878.tst b/scilab/modules/string/tests/nonreg_tests/bug_13878.tst new file mode 100644 index 0000000..e06cc5e --- /dev/null +++ b/scilab/modules/string/tests/nonreg_tests/bug_13878.tst @@ -0,0 +1,19 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2016 - Scilab Enterprises - Adeline CARNIS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- CLI SHELL MODE --> + +// <-- Non-regression test for bug 13878 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=13878 +// +// <-- Short Description --> +// tokens([]) returns []. +// ============================================================================= +assert_checkequal(tokens([]), []); +assert_checkequal(tokens([], "a"), []); -- 1.7.9.5