add_param : useless output argument removed.
[scilab.git] / scilab / modules / parameters / macros / add_param.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) DIGITEO - 2008-2010 - Yann COLLETTE
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
9
10 function plist = add_param(list_name, param_name, param_value)
11
12     [nargout, nargin] = argn();
13
14     if nargout == 2 then
15         warning(sprintf(_("Second output argument of %s is obsolete.\n"), "add_param"))
16         warning(sprintf(_("This argument will be permanently removed in Scilab %s"), "5.5.1"))
17     end
18
19     if nargin <> 2 & nargin <> 3 then
20         error(sprintf(gettext("%s: Wrong number of input arguments: %d to %d expected.\n"), "add_param", 2, 3));
21     end
22
23     if typeof(list_name) == "plist" then
24         if ~is_param(list_name, param_name) then
25             setfield(1, [getfield(1, list_name) param_name], list_name);
26             if nargin == 3 then
27                 list_name(param_name) = param_value;
28             end
29         else
30             error(sprintf(gettext("%s: Wrong value for input argument #%d: key ""%s"" already defined.\n"), "add_param", 2, param_name));
31         end
32     else
33         error(sprintf(gettext("%s: Wrong type for input argument #%d: %s expected.\n"), "add_param", 1, "plist"));
34     end
35     plist = list_name;
36
37 endfunction