/*************************************************************************************************************************************/
/* */
/* 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);
}
Copyright © Jean-François Colonna, 2013-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2013-2021.