Esempio n. 1
0
void csArchive::UpdateDirectory ()
{
  /* Update archive directory: remove deleted entries first */
  int n;
  for (n = dir.Length () - 1; n >= 0; n--)
  {
    ArchiveEntry *e = dir.Get (n);
    if (IsDeleted (e->filename))
      dir.Delete (n);
  }
  del.DeleteAll ();

  for (n = 0; n < lazy.Length (); n++)
  {
    ArchiveEntry *e = lazy.Get (n);
    e->FreeBuffer ();
    dir.InsertSorted (e);
    lazy [n] = NULL;
  }
  lazy.DeleteAll ();
}