Voici une partie de mon code, celle qui produit l'erreur puisque lorsque je la met en commentaire il n'y a plus d'erreur. Je suis sur cette erreur depuis hier, et rien n'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
int a = 1;  //initiateur de boucle
 
    while(a==1)
    {
        FILE * logindex;
        logindex = fopen("./logindex3.log", "r+");
        if(!logindex)
        {
            char * files_rep = "./logwork/3";
            char * index_name = "logindex3.log";
            logindex_builder(files_rep, index_name); // Création de l'index
 
 
        }
        else if (file_exists_non_empty(logindex)==1) //on vérifie que logindex contienne des lignes !
        {
                    char * pathlog;
                    fscanf(logindex,"%[^\n]", &pathlog);    //on copie le chemin vers le fichier log à traiter
                    FILE * log;
                    log = fopen(pathlog, "r+");
 
                    	/////////// Varibales de récupération des données du fichier log ////////////////
                        char * timestamp;
                        char * ip;
                        char * port;
                        char * eventtype;
                        char * id_box;
                        char * event;
 
                        if(fgetc(log)==EOF)
                        {
 
                            file_line_delete(pathlog, logindex); //Suppression du log de l'index
                            file_delete(pathlog);   // Suppression du fichier log
 
                        }// fin if
 
                        else
                        {
                            while(fgetc(log)!=EOF)
                            {
 
                                fgetc(log); // ligne par ligne
 
                                char * ligne;
                                fscanf(log,"%[^\n]", &ligne);
 
                                fscanf(log,"%[^;];%[^;];%[^;];%[^;];%[^;];%s", &timestamp, &ip, &port, &eventtype, &id_box, &event);
                                printf(" %s\n %s\n %s\n %s\n %s\n %s\n", timestamp, ip, port, eventtype, id_box, event);
                                char * date = system("date");
                                ////////// Chaîne de connexion //////////////////////////
                                conn = PQsetdbLogin(*pghost, *pgport, *pgoptions, *pgtty, *dbName, *login,pwd);
                                /////////////////////////////////////////////////////////
                                char query[256];
                                sprintf(query, "INSERT INTO mf_boxes_datalogs(dtlog_added_date,bx_ip,evt_type,bx_id,bx_data) VALUES ( '%s','%s', '%s', '%s', '%s')", date, ip, eventtype, id_box, event);
                                res = PQexec(conn, query);
 
                                PQfinish(conn); // fermeture de la connection
 
                                ///////// Effacement de la ligne dans le fichier log /////////////
                                char *delete_line;
                                sprintf(delete_line, "sed -i '/%s/d' /%s", ligne, *pathlog);
                                system(delete_line);
 
                            }// fin while
 
                        }// fin else
                        fclose(log);
        }//fin else if
 
 
 
    }// fin boucle principale