gboolean 
cid_check_conf_file_version (CidMainContainer **pCid, const gchar *f) 
{
    gchar *cCommand=NULL;
    gchar line_f1[80], line_f2[80];
    FILE *f1, *f2;
    gchar *cOrigFile = g_strdup_printf("%s/%s",CID_DATA_DIR, CID_CONFIG_FILE);
    f1 = fopen ((const char *)cOrigFile,"r");
    f2 = fopen ((const char *)f,"r");
    g_free (cOrigFile);
    
    if (!fgets(line_f1,80,f1) || !fgets(line_f2,80,f2))
        cid_exit (3,"couldn't read conf file, try to delete it");
    
    fclose (f1);
    fclose (f2);
    
    cid_info ("line_f1 %s\nline_f2 %s",line_f1,line_f2);
        
    if (strcmp(line_f1,line_f2)!=0 || bUnvalidKey) 
    {
        cid_warning ("bad file version, building a new one\n");
        cid_remove_file (f);
        gchar *cTmpPath = g_strdup_printf("%s/%s",CID_DATA_DIR,CID_CONFIG_FILE);
        cid_copy_file(cTmpPath,f);
        g_free (cTmpPath);
        
        cid_save_data (pCid);
        cid_read_key_file (pCid, f);
        return FALSE;
    }
    return TRUE;
}
Beispiel #2
0
int 
cid_read_config (const char *f, gpointer *pData) 
{
    cid_info ("Reading file : %s\n",f);
    
    if (!cid->bDevMode) 
        cid_check_file (f);
            
    cid_read_key_file (f);
    
    if (!cid->bDevMode) 
        cid_check_conf_file_version (f);
    
    iNbRead++;

    return 0;
}
int 
cid_read_config (CidMainContainer **pCid, const char *f) 
{
    CidMainContainer *cid = *pCid;
    
    cid_info ("Reading file : %s",f);
    
    if (!cid->config->bDevMode) 
        cid_check_file (f);
            
    cid_read_key_file (pCid, f);
    
    if (!cid->config->bDevMode) 
        cid_check_conf_file_version (pCid, f);
    
    iNbRead++;

    return 0;
}