Mercurial > forge
changeset 11414:00214ffa5a29 octave-forge
Avoid calling the base constructor with an argument of []; sanitize constructor in such a way that, when called with a cell array, it test if it's a vector before calling df_name2idx.
author | cdemills |
---|---|
date | Wed, 23 Jan 2013 22:00:37 +0000 |
parents | 56f9ac1a2380 |
children | 9b0576f4192d |
files | extra/dataframe/inst/@dataframe/dataframe.m extra/dataframe/inst/@dataframe/permute.m extra/dataframe/inst/@dataframe/private/df_cow.m extra/dataframe/inst/@dataframe/subsref.m |
diffstat | 4 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/extra/dataframe/inst/@dataframe/dataframe.m Wed Jan 23 21:56:25 2013 +0000 +++ b/extra/dataframe/inst/@dataframe/dataframe.m Wed Jan 23 22:00:37 2013 +0000 @@ -419,7 +419,7 @@ endif; if (iscell (x)) - if (2 == length (x)) + if (and (isvector (x), 2 == length (x))) %# use the intermediate value as destination column [indc, ncol] = df_name2idx (df._name{2}, x{1}, df._cnt(2), "column"); if (ncol ~= 1)
--- a/extra/dataframe/inst/@dataframe/permute.m Wed Jan 23 21:56:25 2013 +0000 +++ b/extra/dataframe/inst/@dataframe/permute.m Wed Jan 23 22:00:37 2013 +0000 @@ -24,7 +24,7 @@ %# $Id$ %# - resu = dataframe ([]); + resu = dataframe (); if (length (df._cnt) >= length (perm)) resu._cnt = df._cnt(perm);
--- a/extra/dataframe/inst/@dataframe/private/df_cow.m Wed Jan 23 21:56:25 2013 +0000 +++ b/extra/dataframe/inst/@dataframe/private/df_cow.m Wed Jan 23 22:00:37 2013 +0000 @@ -62,7 +62,6 @@ %# update repetition index aliasing this one df._rep{col}(find (dummy == indi)) = t1; endif - keyboard endfor endfor
--- a/extra/dataframe/inst/@dataframe/subsref.m Wed Jan 23 21:56:25 2013 +0000 +++ b/extra/dataframe/inst/@dataframe/subsref.m Wed Jan 23 22:00:37 2013 +0000 @@ -132,7 +132,7 @@ further_deref = true; case "new" if (isempty (dummy)) - resu = dataframe([]); + resu = dataframe(); else if (~strcmp (dummy(1).type, "()")) error ("Bogus constructor call"); @@ -379,7 +379,7 @@ if (strcmp (output_type, class (df))) %# disp('line 295 '); keyboard %# export the result as a dataframe - resu = dataframe ([]); + resu = dataframe (); resu._cnt(1) = nrow; resu._cnt(2) = ncol; if (isempty (fullindr)) for indi = (1:ncol)