diff --git a/main.c b/main.c index e69de29..f5e7916 100644 --- a/main.c +++ b/main.c @@ -0,0 +1,49 @@ +#include "compression.h" +#include "decompression.h" + +// Affiche le message d'aide +void help(char const progName[]); + +int main(int argc, char const *argv[]) { + if(argc < 2) { // si aucun argument + printf("Aucun argument n'a été renseigné.\n"); + help(argv[0]); // affichage du message d'aide + return 1; + } + + if(argc == 2) { // si un seul argument de renseigné + if(strcmp(argv[1], "--help") == 0) { // affiche le message d'aide + help(argv[0]); + return 2; + } + + // compress(argv[2], argv[3]); + printf("compress..."); + return 0; + } + + if(argc > 3) { // s'il y a plus de 3 arguments + printf("Trop d'arguments renseignés.\n"); + help(argv[0]); // affichage du message d'aide + return 1; + } + + if(strcmp(argv[1], "-d") == 0 && argc == 3) { // s'il y a 3 arguments et que l'option `d` est renseigné + // decompress(argv[2], argv[3]); + printf("decompress..."); + return 0; + } + + // Si quelque chose ne s'est pas passé comment prévu + printf("Arguments incorrect, réessayez.\n"); + help(argv[0]); // affichage du message d'aide + return 1; +} + +void help(char const progName[]) { + printf("=================================== HUFFMAN ===================================\n"); + printf("-> %s || Construit le fichier .huff compressé.\n", progName); + printf("-> %s -d .huff || Décompresse le fichier préalabrement compressé.\n", progName); + printf("-> %s --help || Affiche ce message d'aide.\n", progName); + printf("===============================================================================\n"); +}