# HG changeset patch # User Jaroslav Hajek # Date 1268979141 -3600 # Node ID 0b05b204775b37e33d18b538d2ad8423dcedc9c3 # Parent dfc662a47b7a85a74ec0c7dfb34faf17e64a00c4 fix strmatch diff -r dfc662a47b7a -r 0b05b204775b scripts/ChangeLog --- a/scripts/ChangeLog Thu Mar 18 20:08:35 2010 -0400 +++ b/scripts/ChangeLog Fri Mar 19 07:12:21 2010 +0100 @@ -1,3 +1,8 @@ +2010-03-19 Jaroslav Hajek + + * strings/strmatch.m (strtrimr): Rewrite for correct behavior. + Add test. + 2010-03-18 Petr Mikulik * /plot/print.m: Add '-append' option. diff -r dfc662a47b7a -r 0b05b204775b scripts/strings/strmatch.m --- a/scripts/strings/strmatch.m Thu Mar 18 20:08:35 2010 -0400 +++ b/scripts/strings/strmatch.m Fri Mar 19 07:12:21 2010 +0100 @@ -90,9 +90,10 @@ ## Removes nuls and blanks from the end of the array function s = strtrimr (s) - i = find (s == "\0" | s == " ", 1, "last"); - if (i) - s = s(1:i); + blnks = s == "\0" | s == " "; + i = find (blnks, 1, "last"); + if (i && all (blnks(i:end))) + s = s(1:i-1); endif endfunction @@ -105,3 +106,5 @@ %!assert (strmatch ("apple", {"apple pie"; "apple juice"; "tomato"}), %! [1; 2]); %!assert (strmatch ("apple pie", "apple"), []); +%!assert (strmatch ("a b", {"a b", "a c", "c d"})); +