# COMPTE RENDU ## Fait par VALLAT Guillaume et GENIQUE Florian ## Calculer la complexité cyclomatique du code donnée ### 1. daemon.c : * create_daemon() : 4 complexité cyclomatique * ping_request() : 2 complexité cyclomatique * send_check() : 4 complexité cyclomatique * check_keep_working() : 4 complexité cyclomatique * daemon_work() : 3 complexité cyclomatique ### 2. db-sqlite.c : * db_connect() : 1 complexité cyclomatique * db_disconnect() : 1 complexité cyclomatique * insert_hourly_report(): 1 complexité cyclomatique ### 3. ping-report.c : * main() : 4 complexité cyclomatique ### 4. stats.C : * get_ping_from_temp_log() : 13 complexité cyclomatique * write_ping_log() : 4 complexité cyclomatiquue * set_stats_ping() : 23 complexité cyclomatique ### 5. utils.c : * write_pid_file() : 2 complexité cyclomatique * remove_file() : 1 complexité cyclomatique ## DIAGRAMMES * fonction : set_stats_ping : ![diagramme1](/img/diagrammes_stats_c_set_stats_ping.png "fonction set_stats_ping") ## OPTIMISATION DU CODE DE LA FONCTION get_ping_from_temp_log() : ligne de 127 à 130 mis en commentaire les if : - if(p_reg == NULL) - if(fd == NULL) - if(regcomp(p_reg,"time=(.*) ms",REG_EXTENDED) != 0) - if(pmatch == NULL) on été décaler dans une fonction a part appelé ifFunct(FILE* fd, regex_t *p_reg, regmatch_t* pmatch) et nous retourne le ping ce qui de la fonction get_ping_from_temp_log 5 de compléxité cyclomatique. Et également 5 de compléxité cyclomatique pour la nouvelle fonction crée. ## NOUVEAU DIAGRAMMES * fonction get_ping_from_temp_log optimisé : ![diagramme2](/img/diagramme2 "fonction get_ping_from_temp_log optimisé") * fonction ifFunct : ![diagramme3](/img/diagramme3 "fonction ifFunct")