Mercurial > hg > octave-shane
changeset 10287:7c7685cc0676
fix reload warning for dynamically linked functions
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 09 Feb 2010 17:44:22 -0500 |
parents | 8cf666139297 |
children | 5e972e2deffe |
files | src/ChangeLog src/dynamic-ld.cc |
diffstat | 2 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2010-02-09 John W. Eaton <jwe@octave.org> + + * dynamic-ld.cc (clear): Only warn if reloading a dynamically + linked file that defines multiple functions. + 2010-02-09 Jaroslav Hajek <highegg@gmail.com> * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx (const Array<T>&, ...)):
--- a/src/dynamic-ld.cc +++ b/src/dynamic-ld.cc @@ -308,8 +308,8 @@ return retval; } -static -void do_clear_function (const std::string& fcn_name) +static void +do_clear_function (const std::string& fcn_name) { warning_with_id ("Octave:reload-forces-clear", " %s", fcn_name.c_str ()); @@ -320,11 +320,15 @@ clear (octave_shlib& oct_file) { if (oct_file.number_of_functions_loaded () > 1) - warning_with_id ("Octave:reload-forces-clear", - "reloading %s clears the following functions:", - oct_file.file_name().c_str ()); + { + warning_with_id ("Octave:reload-forces-clear", + "reloading %s clears the following functions:", + oct_file.file_name().c_str ()); - octave_shlib_list::remove (oct_file, do_clear_function); + octave_shlib_list::remove (oct_file, do_clear_function); + } + else + octave_shlib_list::remove (oct_file, symbol_table::clear_dld_function); } octave_function *