Exemple #1
0
static char * generate_backup_filename (
    backup_mode_ty   versionControl,
    char           * pathname)
{
    int last_numbered_version;
    char *backup_name;

    if (versionControl == none)
    {
        backup_name = NULL;
    }
    else
    {
       if (versionControl == simple)
       {
           backup_name = simple_backup_name (pathname);
       }
       else
       {
          last_numbered_version = max_version (pathname);

          if ((versionControl == numbered_existing) && (last_numbered_version == 0))
          {
             backup_name = simple_backup_name (pathname);
          }
          else
          {
             last_numbered_version++;
             backup_name = xmalloc(strlen (pathname) + 16);

             if (backup_name)
             {
                sprintf (backup_name, BACKUP_SUFFIX_FORMAT, pathname,
                         version_width, (int) last_numbered_version);
             }
          }
       }
    }

    return backup_name;
}
Exemple #2
0
 version_t versions_ago(version_t ago) const
 {
   return max_version()-ago;
 }