I got an e-mail saying that Behold’s Instant Organize function was causing an access violation and crashing. That’s a bad error that I like to fix right away. He sent me his GEDCOM and I was pleased that I was quickly able to find and fix the problem. In his GEDCOM, two of the Family structures had neither a HUSB nor a WIFE link in them. My program returned a “nil” pointer for them, and when that pointer was referenced, the crash would occur.
There were only a couple of lines needed to fix that. But then I noticed that this Family structure, which still was valid, would not print in the Everything Report. That’s because Behold links each family to its primary individual, and in this case there was no primary individual. To get that working, I finally figured out I’d have to add a “fake” person who by default gets the name: “_____ _____”. I did this by adding fake GEDCOM lines when they are needed. I like that solution. I’ll probably have to use that method and add fake GEDCOM lines when I start reading data directly from Genealogy files (Version 1.2).
The GEDCOM I was sent was created by Legacy. I didn’t previously have any GEDCOMs from Legacy among my test cases. I thought: How could I easily find GEDCOM test cases on the Internet? I tried something, and it worked very well. You might want to try this, too. Go to Google. Search for: “SOUR Legacy” with the quotes. Zowweeee! Many of the results are GEDCOM files created by various versions of Legacy. If the file is no longer online, you can often get it from the Google cache. I also didn’t have any from Roots Magic, so I googled “SOUR Rootsmagic” and there they were. “SOUR TMG”, “SOUR PAF”, “SOUR FTW”, “SOUR BROSKEEP”. Looks like finding test cases shouldn’t be a problem anymore.