Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
void 
cid_check_file (const gchar *f) 
{
    gchar *cFileTest;
    if (!g_file_test (f, G_FILE_TEST_EXISTS))
    {
        /*
        gchar *cCompareWith = g_strdup_printf("%s/.config/cid/%s",g_getenv("HOME"),CID_CONFIG_FILE);
        if (g_strcmp(f,cCompareWith)) // f correspond a un chemin entre par l'utilisateur
        {
            g_free (cCompareWith);
            gchar *cSrc = g_strdup_printf("%s/%s",CID_DATA_DIR,CID_CONFIG_FILE);
            cid_debug ("Copying file from %s to %s",cSrc,f);
            cid_copy_file (cSrc,f);
            g_free (cSrc);
            return;
        }
        */
        CidDataTable *p_folders = cid_create_datatable(G_TYPE_STRING,"%s/.config","%s/.config/cid",G_TYPE_INVALID);
        BEGIN_FOREACH_DT(p_folders)
            gchar *cDirName = g_strdup_printf(p_temp->content->string,g_getenv("HOME"));
            if (!g_file_test (cDirName,G_FILE_TEST_IS_DIR))
            {
                cid_debug ("Creating directory: %s",cDirName);
                mkdir(cDirName,S_IRWXU);
            }
            g_free (cDirName);
        END_FOREACH_DT
        cFileTest = g_strdup_printf("%s/%s",g_getenv("HOME"),OLD_CONFIG_FILE) ;
        if (g_file_test (cFileTest, G_FILE_TEST_EXISTS))
        {
            gchar *cSrc = g_strdup_printf("%s/%s",g_getenv("HOME"),OLD_CONFIG_FILE);
            gchar *cDst = g_strdup_printf("%s/.config/cid/%s",g_getenv("HOME"),CID_CONFIG_FILE);
            cid_debug ("Moving file from %s to %s",cSrc,cDst);
            rename(cSrc,cDst);
            g_free (cSrc);
            g_free (cDst);
            g_free (cFileTest);
            return;
        }
        g_free (cFileTest);
        cFileTest = g_strdup_printf("%s/.config/%s",g_getenv("HOME"),OLD_CONFIG_FILE);
        if (g_file_test (cFileTest, G_FILE_TEST_EXISTS))
        {
            gchar *cSrc = g_strdup_printf("%s/.config/%s",g_getenv("HOME"),OLD_CONFIG_FILE);
            gchar *cDst = g_strdup_printf("%s/.config/cid/%s",g_getenv("HOME"),CID_CONFIG_FILE);
            cid_debug ("Moving file from %s to %s",cSrc,cDst);
            rename(cSrc,cDst);
            g_free (cSrc);
            g_free (cDst);
            g_free (cFileTest);
            return;
        }
        g_free (cFileTest);
        cFileTest = g_strdup_printf("%s/.config/%s",g_getenv("HOME"),CID_CONFIG_FILE);
        if (g_file_test (cFileTest, G_FILE_TEST_EXISTS))
        {
            gchar *cSrc = g_strdup_printf("%s/.config/%s",g_getenv("HOME"),CID_CONFIG_FILE);
            gchar *cDst = g_strdup_printf("%s/.config/cid/%s",g_getenv("HOME"),CID_CONFIG_FILE);
            cid_debug ("Moving file from %s to %s",cSrc,cDst);
            rename(cSrc,cDst);
            g_free (cSrc);
            g_free (cDst);
            g_free (cFileTest);
            return;
        }
        g_free (cFileTest);
        gchar *cSrc = g_strdup_printf("%s/%s",CID_DATA_DIR,CID_CONFIG_FILE);
        cid_debug ("Copying file from %s to %s",cSrc,f);
        cid_copy_file (cSrc,f);
        g_free (cSrc);
    }
}
Ejemplo n.º 3
0
void 
cid_check_file (const gchar *f) 
{
    gchar *cFileTest;
    if (!g_file_test (f, G_FILE_TEST_EXISTS))
    {
        /*
        gchar *cCompareWith = g_strdup_printf("%s/.config/cid/%s",g_getenv("HOME"),CID_CONFIG_FILE);
        if (g_strcmp(f,cCompareWith)) // f correspond a un chemin entre par l'utilisateur
        {
            g_free (cCompareWith);
            gchar *cSrc = g_strdup_printf("%s/%s",CID_DATA_DIR,CID_CONFIG_FILE);
            cid_debug ("Copying file from %s to %s",cSrc,f);
            cid_copy_file (cSrc,f);
            g_free (cSrc);
            return;
        }
        */
        gchar *cDirName = g_strdup_printf("%s/.config/cid",g_getenv("HOME"));
        if (!g_file_test (cDirName,G_FILE_TEST_IS_DIR))
        {
            cid_debug ("Creating directory: %s",cDirName);
            mkdir(cDirName,S_IRWXU);
        }
        g_free (cDirName);
        cFileTest = g_strdup_printf("%s/%s",g_getenv("HOME"),OLD_CONFIG_FILE) ;
        if (g_file_test (cFileTest, G_FILE_TEST_EXISTS))
        {
            gchar *cSrc = g_strdup_printf("%s/%s",g_getenv("HOME"),OLD_CONFIG_FILE);
            gchar *cDst = g_strdup_printf("%s/.config/cid/%s",g_getenv("HOME"),CID_CONFIG_FILE);
            cid_debug ("Moving file from %s to %s",cSrc,cDst);
            rename(cSrc,cDst);
            g_free (cSrc);
            g_free (cDst);
            g_free (cFileTest);
            return;
        }
        g_free (cFileTest);
        cFileTest = g_strdup_printf("%s/.config/%s",g_getenv("HOME"),OLD_CONFIG_FILE);
        if (g_file_test (cFileTest, G_FILE_TEST_EXISTS))
        {
            gchar *cSrc = g_strdup_printf("%s/.config/%s",g_getenv("HOME"),OLD_CONFIG_FILE);
            gchar *cDst = g_strdup_printf("%s/.config/cid/%s",g_getenv("HOME"),CID_CONFIG_FILE);
            cid_debug ("Moving file from %s to %s",cSrc,cDst);
            rename(cSrc,cDst);
            g_free (cSrc);
            g_free (cDst);
            g_free (cFileTest);
            return;
        }
        g_free (cFileTest);
        cFileTest = g_strdup_printf("%s/.config/%s",g_getenv("HOME"),CID_CONFIG_FILE);
        if (g_file_test (cFileTest, G_FILE_TEST_EXISTS))
        {
            gchar *cSrc = g_strdup_printf("%s/.config/%s",g_getenv("HOME"),CID_CONFIG_FILE);
            gchar *cDst = g_strdup_printf("%s/.config/cid/%s",g_getenv("HOME"),CID_CONFIG_FILE);
            cid_debug ("Moving file from %s to %s",cSrc,cDst);
            rename(cSrc,cDst);
            g_free (cSrc);
            g_free (cDst);
            g_free (cFileTest);
            return;
        }
        g_free (cFileTest);
        gchar *cSrc = g_strdup_printf("%s/%s",CID_DATA_DIR,CID_CONFIG_FILE);
        cid_debug ("Copying file from %s to %s",cSrc,f);
        cid_copy_file (cSrc,f);
        g_free (cSrc);
    }
}