Skip to content

Commit

Permalink
Fixed 'greedy merge' bug, which tried to merge all fields even if it …
Browse files Browse the repository at this point in the history
…was impossible.
  • Loading branch information
ptomask committed Sep 19, 2011
1 parent 924b2c8 commit ce5272d
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Tests/selftest_report.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><HTML> <HEAD><TITLE>::SELFTEST REPORT::</TITLE><STYLE> H2{color:blue} #MainTest{border: 1px blue solid;} h3,h4,h5,h6 {display: inline;} </STYLE></HEAD><BODY style="font-family:Arial, helvetica"><h1>Selftest report from:08-Sep-2011 22:10:56</h1><div id="MainTest"> <h2>test_ReadYaml</h2><div id="Test"><h3>test_ReadYaml: </h3>Passed <i></i> </div><table><tr><div id="Test"><h3>test_RY_FloatingPoints: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Import: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_ImportDef: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_ImportNonex: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Indentation: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Inheritance: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_InheritanceLoop: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_InheritanceMultiple: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Matrices: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_SequenceMapping: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Simple: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Time: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_TimeVariants: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_usecase_01: </h3>Passed <i></i> </div><table></table></tr></table></div><div id="MainTest"> <h2>test_WriteYaml</h2><div id="Test"><h3>test_WriteYaml: </h3>Passed <i></i> </div><table><tr><div id="Test"><h3>test_WY_ComplexStructure: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_FloatingPoints: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_Indentation: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_Matrices: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_SequenceMapping: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_Simple: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_Time: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_usecase_01: </h3>Passed <i></i> </div><table></table></tr></table></div></BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><HTML> <HEAD><TITLE>::SELFTEST REPORT::</TITLE><STYLE> H2{color:blue} #MainTest{border: 1px blue solid;} h3,h4,h5,h6 {display: inline;} </STYLE></HEAD><BODY style="font-family:Arial, helvetica"><h1>Selftest report from:19-Sep-2011 16:59:02</h1><div id="MainTest"> <h2>test_ReadYaml</h2><div id="Test"><h3>test_ReadYaml: </h3>Passed <i></i> </div><table><tr><div id="Test"><h3>test_RY_FloatingPoints: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Import: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_ImportDef: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_ImportNonex: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Indentation: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Inheritance: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_InheritanceLoop: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_InheritanceMultiple: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Matrices: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_SequenceMapping: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Simple: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_Time: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_TimeVariants: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_RY_usecase_01: </h3>Passed <i></i> </div><table></table></tr></table></div><div id="MainTest"> <h2>test_WriteYaml</h2><div id="Test"><h3>test_WriteYaml: </h3>Passed <i></i> </div><table><tr><div id="Test"><h3>test_WY_ComplexStructure: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_FloatingPoints: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_Indentation: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_Matrices: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_SequenceMapping: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_Simple: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_Time: </h3>Passed <i></i> </div><table></table></tr><tr><div id="Test"><h3>test_WY_usecase_01: </h3>Passed <i></i> </div><table></table></tr></table></div></BODY></HTML>
4 changes: 3 additions & 1 deletion merge_struct.m
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
deep = 1;
end;



result = p;
for i = fields(s)'
fld = char(i);
Expand All @@ -32,7 +34,7 @@
%disp(['fieldname: ',fld]);
%disp(s.(fld));
%disp('----------');
if deep == 1 && isfield(result, fld)
if deep == 1 && isfield(result, fld) && isstruct(result.(fld)) && isstruct(s.(fld))
result.(fld) = merge_struct(result.(fld), s.(fld), donotmerge, deep);
else
result.(fld) = s.(fld);
Expand Down

0 comments on commit ce5272d

Please sign in to comment.