Mercurial > hg > octave-nkf
diff src/data.cc @ 1755:3a9462b655f1
[project @ 1996-01-22 04:47:22 by jwe]
author | jwe |
---|---|
date | Mon, 22 Jan 1996 04:47:22 +0000 |
parents | a02f140ed897 |
children | e62277bf5fe0 |
line wrap: on
line diff
--- a/src/data.cc +++ b/src/data.cc @@ -35,6 +35,8 @@ #include <string> +#include "str-vec.h" + #include "defun.h" #include "error.h" #include "gripes.h" @@ -758,31 +760,7 @@ if (args (0).is_map ()) { Octave_map m = args(0).map_value (); - char **names = m.make_name_list (); - - char **ptr = names; - int max_len = 0; - while (*ptr) - { - int len = strlen (*ptr); - if (len > max_len) - max_len = len; - ptr++; - } - - charMatrix list (m.length (), max_len); - - ptr = names; - int i = 0; - while (*ptr) - { - list.insert (*ptr, i++, 0); - delete [] *ptr++; - } - - delete [] names; - - retval(0) = list; + retval(0) = m.make_name_list (); } else gripe_wrong_type_arg ("struct_elements", args (0)); @@ -807,8 +785,7 @@ retval = 0.0; if (args(0).is_map () && args(1).is_string ()) { - string tstr = args(1).string_value (); - const char *s = tstr.c_str (); + string s = args(1).string_value (); tree_constant tmp = args(0).lookup_map_element (s, 0, 1); retval = (double) tmp.is_defined (); }