Menu

INDIs in GEDCOM file

Help
2003-07-03
2003-08-07
  • Owen Campbell

    Owen Campbell - 2003-07-03

    Hi all,

    I've noticed that when a new INDI record is added to the end of my GEDCOM file, I get index problems.

    Does anyone know if the standard requires INDIs to be contiguous within the file or whether there's a change necessary to take account of the possibility?

    Owen

     
    • John Finlay

      John Finlay - 2003-07-03

      I don't believe that INDI's being contiguous is part of the standard, but if they aren't contiguous I'm sure there will be several programs that won't be able to import the GEDCOM file.

      PhpGedView should be able to handle any arrangement of GEDCOM records within a file.  However, anytime you make a change to the gedcom such as adding an individual or family, changing a name, or changing a death date you will have to rebuild the indexes.

      --John

       
    • Owen Campbell

      Owen Campbell - 2003-07-04

      John,

      The current version of GenJ adds new individuals to the bottom of the file. phpGedView builds its indexes without any problem, but I get the following error when it then tries to parse the individual index:

      "Parse error: parse error, unexpected ';' in /var/www/tanti.org.uk/index/indilist.ind on line 1147"

      Owen

       
    • John Finlay

      John Finlay - 2003-07-04

      Owen,

      Can you send or post line 1147 from indilist.php along with a few of the lines around it?

      --John

       
    • Owen Campbell

      Owen Campbell - 2003-08-01

      John,

      Sorry it's taken me so long to get back on this one. I've been away for a while.

      I added a test individual via GenJ, rebuilt the indexes (without error), but then get this when I try to view the pedigree tree:

      Parse error: parse error, unexpected ';' in /var/www/tanti.org.uk/index/indilist.ind on line 1167

      Here are lines 1165 - 1168 from indilist.ind:

      $indilist["I335"] = "test, test";
      $indioffset["I335"][0] = 52429;
      $indioffset["I335"][1] = ;
      $indi_isdead["I335"] = true;

      Owen

       
    • John Finlay

      John Finlay - 2003-08-01

      If you are using a version of PHP < 4.3 then I can see where bug would happen.

      Edit buildindex.php and replace lines 170-171 with the following lines:
      if ($pos2) $indirec = substr($nextstr, 0, $pos2);
      else {
          $indirec = $nextstr;
          $pos2 = strlen($fcontents);
      }

      Then try the build again.

      --John

       
    • Owen Campbell

      Owen Campbell - 2003-08-07

      Thank you once more!!!

      That fix worked a treat.

      Owen

       

Log in to post a comment.