GPL + CeCILL Header change
[scilab.git] / scilab / modules / functions / macros / get_function_path.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA
3 // Copyright (C) DIGITEO - 2009-2010 - Allan CORNET
4 // Copyright (C) 2013 - Scilab Enterprises - Adeline CARNIS
5 //
6 // Copyright (C) 2012 - 2016 - Scilab Enterprises
7 //
8 // This file is hereby licensed under the terms of the GNU GPL v2.0,
9 // pursuant to article 5.3.4 of the CeCILL v.2.1.
10 // This file was originally licensed under the terms of the CeCILL v2.1,
11 // and continues to be available under such terms.
12 // For more information, see the COPYING file which you should have received
13 // along with this program.
14 // === LICENSE_END ===
15
16 function path = get_function_path(name)
17
18     path = [];
19     rhs = argn(2);
20
21     if rhs == 0 then
22         error(msprintf(gettext("%s: Wrong number of input argument: %d expected.\n"), "get_function_path", 1));
23     end
24
25     if type(name) <> 10 then
26         error(999,msprintf(_("%s: Wrong type for input argument #%d: string expected.\n"),"get_function_path",1));
27     end
28
29     if size(name,"*") <> 1 then
30         error(999,msprintf(_("%s: Wrong size for input argument #%d: string expected.\n"),"get_function_path",1));
31     end
32
33     libname = whereis(name);
34
35     if libname <> [] then
36         for i = 1:size(libname,"*")
37             [funcnames, pathlib] = libraryinfo(libname(i));
38             path = [path ; fullfile(pathlib, name + ".sci")];
39         end
40         path = pathconvert(path,%F);
41     end
42
43 endfunction