/*************************************************************************************************************************************/ /* */ /* D E C O M P R E S S I O N O P T I M A L E : */ /* */ /* */ /* Nota : */ /* */ /* Ce programme est equivalent a 'v $xrC/CompressionOptimale.01$vv$Z' */ /* au niveau fonctionnel. */ /* */ /* La difference importante vient du fait que le '$Z' ne peut etre soumis */ /* aux mesures de '$MPerfor1' et de '$MPerfor2', cela etant du au fait */ /* qu'etant interprete par '$CSH', le nombre de process mis en oeuvre se */ /* chiffre en centaines, voire en milliers... */ /* */ /* */ /* Author of '$xrC/DeCompressionOptimale.01$vv$c' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 20130716090810). */ /* */ /*************************************************************************************************************************************/ #include "CompressionDeCompressionOptimale.01.vv.I" main(int argc,char *argv[]) { if (argc != 2) { printf("Il faut un argument et un seul.\n"); } else { char *NOM_DU_FICHIER_sans_postfixe=SuppressionPostFixe(NOM_DU_FICHIER); if (LongueurFichier(NOM_DU_FICHIER_sans_postfixe,FAUX) == 0) { int NombreDeFichiersDecompresses=0; #ifdef Genere_CDC_00 /* Introduit le 20151123104321 pour plus de generalite... */ DECOMPRESSION(DeCompresseur___00,PostFixe_CDC__00); #else #endif #ifdef Genere_CDC_01 DECOMPRESSION(DeCompresseur___01,PostFixe_CDC__01); #else #endif #ifdef Genere_CDC_02 DECOMPRESSION(DeCompresseur___02,PostFixe_CDC__02); #else #endif #ifdef Genere_CDC_03 DECOMPRESSION(DeCompresseur___03,PostFixe_CDC__03); #else #endif #ifdef Genere_CDC_04 DECOMPRESSION(DeCompresseur___04,PostFixe_CDC__04); #else #endif #ifdef Genere_CDC_05 DECOMPRESSION(DeCompresseur___05,PostFixe_CDC__05); #else #endif #ifdef Genere_CDC_06 DECOMPRESSION(DeCompresseur___06,PostFixe_CDC__06); #else #endif #ifdef Genere_CDC_07 DECOMPRESSION(DeCompresseur___07,PostFixe_CDC__07); #else #endif #ifdef Genere_CDC_08 DECOMPRESSION(DeCompresseur___08,PostFixe_CDC__08); #else #endif #ifdef Genere_CDC_09 DECOMPRESSION(DeCompresseur___09,PostFixe_CDC__09); #else #endif #ifdef Genere_CDC_0A DECOMPRESSION(DeCompresseur___0A,PostFixe_CDC__0A); #else #endif #ifdef Genere_CDC_0B DECOMPRESSION(DeCompresseur___0B,PostFixe_CDC__0B); #else #endif #ifdef Genere_CDC_0C DECOMPRESSION(DeCompresseur___0C,PostFixe_CDC__0C); #else #endif #ifdef Genere_CDC_0D DECOMPRESSION(DeCompresseur___0D,PostFixe_CDC__0D); #else #endif #ifdef Genere_CDC_0E DECOMPRESSION(DeCompresseur___0E,PostFixe_CDC__0E); #else #endif #ifdef Genere_CDC_0F DECOMPRESSION(DeCompresseur___0F,PostFixe_CDC__0F); #else #endif #ifdef Genere_CDC_0G DECOMPRESSION(DeCompresseur___0G,PostFixe_CDC__0G); #else #endif #ifdef Genere_CDC_0H DECOMPRESSION(DeCompresseur___0H,PostFixe_CDC__0H); #else #endif #ifdef Genere_CDC_0I DECOMPRESSION(DeCompresseur___0I,PostFixe_CDC__0I); #else #endif #ifdef Genere_CDC_0J DECOMPRESSION(DeCompresseur___0J,PostFixe_CDC__0J); #else #endif /* Le principe est simple : On decompresse le fichier compresse, sachant que son postfixe */ /* indique le compresseur qui l'a engendre. */ EXECUTION_COMMANDE(CONCATENE_CHAINE_04(DELETE,ESPACE,NOM_DU_FICHIER_sans_postfixe,PostFixe_CDC__0X)); /* Enfin, le fichier compresse est detruit afin que le comportenement de ce '$X' soit */ /* compatible avec les compresseurs "standards"... */ if (NombreDeFichiersDecompresses != 1) { printf("Un seul fichier doit etre decompresse (%d l'ont ete).\n" ,NombreDeFichiersDecompresses ); } else { } } else { printf("Le fichier '%s' existe deja.\n",NOM_DU_FICHIER_sans_postfixe); } } return(OK); }