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; }
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); } }
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); } }