diff src/oct-obj.cc @ 3180:c17387059fd3

[project @ 1998-09-24 18:59:11 by jwe]
author jwe
date Thu, 24 Sep 1998 19:00:19 +0000
parents b9e64477f703
children 7a5a5da64756
line wrap: on
line diff
--- a/src/oct-obj.cc	Wed Jul 29 19:50:02 1998 +0000
+++ b/src/oct-obj.cc	Thu Sep 24 19:00:19 1998 +0000
@@ -112,12 +112,32 @@
 
   if (all_strings_p ())
     {
-      int n = length ();
-      argv.resize (n+1);
+      int len = length ();
+
+      int total_nr = 0;
+
+      for (int i = 0; i < len; i++)
+	total_nr += elem(i).rows ();
+
+      argv.resize (total_nr+1);
+
       argv[0] = fcn_name;
 
-      for (int i = 0; i < n; i++)
-	argv[i+1] = elem(i).string_value ();
+      int k = 1;
+      for (int i = 0; i < len; i++)
+	{
+	  int nr = elem(i).rows ();
+
+	  if (nr == 1)
+	    argv[k++] = elem(i).string_value ();
+	  else
+	    {
+	      string_vector tmp = elem(i).all_strings ();
+
+	      for (int j = 0; j < nr; j++)
+		argv[k++] = tmp[j];
+	    }
+	}
     }
   else
     error ("%s: expecting all arguments to be strings", fcn_name.c_str ());