# HG changeset patch # User jwe # Date 1143218564 0 # Node ID edf82d02be754db06e3c33d3545f5195c6c91057 # Parent 24f6a13878c217084ac9b97c80143f79353e354d [project @ 2006-03-24 16:42:43 by jwe] diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,14 @@ +2006-03-24 John W. Eaton + + * ov-cell.h (octave_cell::convert_to_str_internal): + Undo previous change for pad arg. + * ov-cell.cc (octave_cell::all_strings): Reinstate pad arg, pass + it on to all_strings. + * ov.h (octave_value::all_strings): Reinstate pad arg. + * ov-base.cc (octave_base_value::all_strings): Likewise. + * ov-str-mat.cc (octave_char_matrix_str::all_strings): Likewise. + * ov.h, ov-base.h, ov-cell.h, ov-str-mat.h: Fix all_strings decls. + 2005-10-25 David Bateman * data.cc (do_cat): With 1 arg, return [](0x0) for compatibility. diff --git a/src/ov-base.cc b/src/ov-base.cc --- a/src/ov-base.cc +++ b/src/ov-base.cc @@ -597,11 +597,11 @@ } string_vector -octave_base_value::all_strings (void) const +octave_base_value::all_strings (bool pad) const { string_vector retval; - octave_value tmp = convert_to_str (false, true); + octave_value tmp = convert_to_str (pad, true); if (! error_state) retval = tmp.all_strings (); diff --git a/src/ov-base.h b/src/ov-base.h --- a/src/ov-base.h +++ b/src/ov-base.h @@ -265,7 +265,7 @@ uint64NDArray uint64_array_value (void) const; - string_vector all_strings (void) const; + string_vector all_strings (bool pad = false) const; std::string string_value (bool force = false) const; diff --git a/src/ov-cell.cc b/src/ov-cell.cc --- a/src/ov-cell.cc +++ b/src/ov-cell.cc @@ -291,7 +291,7 @@ } string_vector -octave_cell::all_strings (void) const +octave_cell::all_strings (bool pad) const { string_vector retval; @@ -333,7 +333,15 @@ int n = s.length (); for (octave_idx_type ii = 0; ii < n; ii++) - retval[k++] = s[ii]; + { + std::string t = s[ii]; + int t_len = t.length (); + + if (pad && max_len > t_len) + t += std::string (max_len - t_len, ' '); + + retval[k++] = t; + } } } diff --git a/src/ov-cell.h b/src/ov-cell.h --- a/src/ov-cell.h +++ b/src/ov-cell.h @@ -101,10 +101,10 @@ octave_value_list list_value (void) const; - octave_value convert_to_str_internal (bool, bool, char type) const - { return octave_value (all_strings (), type); } + octave_value convert_to_str_internal (bool pad, bool, char type) const + { return octave_value (all_strings (pad), type); } - string_vector all_strings (void) const; + string_vector all_strings (bool pad = false) const; bool print_as_scalar (void) const; diff --git a/src/ov-str-mat.cc b/src/ov-str-mat.cc --- a/src/ov-str-mat.cc +++ b/src/ov-str-mat.cc @@ -210,7 +210,7 @@ } string_vector -octave_char_matrix_str::all_strings (void) const +octave_char_matrix_str::all_strings (bool) const { string_vector retval; diff --git a/src/ov-str-mat.h b/src/ov-str-mat.h --- a/src/ov-str-mat.h +++ b/src/ov-str-mat.h @@ -125,7 +125,7 @@ ComplexNDArray complex_array_value (bool = false) const; - string_vector all_strings (void) const; + string_vector all_strings (bool pad = false) const; std::string string_value (bool force = false) const; diff --git a/src/ov.h b/src/ov.h --- a/src/ov.h +++ b/src/ov.h @@ -651,8 +651,8 @@ virtual uint64NDArray uint64_array_value (void) const { return rep->uint64_array_value (); } - virtual string_vector all_strings (void) const - { return rep->all_strings (); } + virtual string_vector all_strings (bool pad = false) const + { return rep->all_strings (pad); } virtual std::string string_value (bool force = false) const { return rep->string_value (force); }