Nettoyage des en-têtes et réorganisation

This commit is contained in:
Mattéo Delabre 2016-10-28 16:35:50 +02:00
parent f5522c4036
commit 05302b0f96
7 changed files with 44 additions and 50 deletions

View File

@ -26,7 +26,6 @@ $(OUT)$(PROG): $(OBJECTS)
$(CC) $^ $(CFLAGS) -o $@
# Générer les fichiers objets pour chaque source
$(OUT)common.o: $(SRC)common.c $(INC)common.h
$(OUT)buffer.o: $(SRC)buffer.c $(INC)buffer.h
$(OUT)compress.o: $(SRC)compress.c $(INC)compress.h $(INC)common.h \
$(INC)display.h

View File

@ -1,26 +1,3 @@
#ifndef __IN303_COMMON_H__
#define __IN303_COMMON_H__
#define TRUE 1
#define FALSE 0
#define NUM_CHARS 256
/**
* Écrire sur la sortie standard à la manière de printf,
* seulement si le mode verbeux est actif
*/
void printVerbose(const char* format, ...);
/**
* Active ou désactive l'affichage des messages verbeux
* (mode verbeux). Si activé, `printVerbose` écrit sur
* la sortie standard. Sinon, `printVerbose` n'a pas d'effet
*/
void setVerbose(int);
/**
* Renvoie l'état du mode verbeux
*/
int isVerbose();
#endif

View File

@ -1,7 +1,6 @@
#ifndef __IN303_COMPRESS_H__
#define __IN303_COMPRESS_H__
#include "huftree.h"
#include <stdio.h>
void compress(FILE* source, FILE* dest);

View File

@ -1,9 +1,28 @@
#ifndef __IN303_DISPLAY_H__
#define __IN303_DISPLAY_H__
#include "huftree.h"
#include <stdlib.h>
typedef struct HufTree HufTree;
/**
* Écrire sur la sortie standard à la manière de printf,
* seulement si le mode verbeux est actif
*/
void printVerbose(const char* format, ...);
/**
* Active ou désactive l'affichage des messages verbeux
* (mode verbeux). Si activé, `printVerbose` écrit sur
* la sortie standard. Sinon, `printVerbose` n'a pas d'effet
*/
void setVerbose(int);
/**
* Renvoie l'état du mode verbeux
*/
int isVerbose();
/**
* Afficher sur la sortie standard l'arbre passé
* en paramètre

View File

@ -2,9 +2,10 @@
#define __IN303_HUFTREE_H__
#include <stdio.h>
#include "buffer.h"
#include <stdlib.h>
typedef struct Buffer Buffer;
/**
* Représente un des sommets d'un arbre de Huffman
*/

View File

@ -1,23 +0,0 @@
#include "common.h"
#include <stdarg.h>
#include <stdio.h>
static int is_verbose = FALSE;
void printVerbose(const char* format, ...) {
if (is_verbose) {
va_list args_list;
va_start(args_list, format);
vprintf(format, args_list);
va_end(args_list);
}
}
void setVerbose(int flag) {
is_verbose = flag;
}
int isVerbose() {
return is_verbose;
}

View File

@ -1,5 +1,7 @@
#include "display.h"
#include "common.h"
#include "huftree.h"
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <locale.h>
@ -22,6 +24,26 @@ static void _printVertex(HufVertex, wchar_t*, int);
*/
static char _safeChar(char input);
static int is_verbose = FALSE;
void printVerbose(const char* format, ...) {
if (is_verbose) {
va_list args_list;
va_start(args_list, format);
vprintf(format, args_list);
va_end(args_list);
}
}
void setVerbose(int flag) {
is_verbose = flag;
}
int isVerbose() {
return is_verbose;
}
void printTree(HufTree tree) {
// Allocation d'un tampon suffisamment grand pour contenir
// les indentations des sommets les plus profonds de l'arbre