/*************************************************************************************************************************************/
/* */
/* O U T I L S D E C O M P R E S S I O N / D E C O M P R E S S I O N D E C O N V E R S I O N : */
/* */
/* */
/* Author of '$xrC/CompressionDeCompressionConvert.01$vv$I' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 20130920094043). */
/* */
/*************************************************************************************************************************************/
#include "CompressionDeCompression.01.vv.I"
/* Introduit le 20131003093308... */
#define BCompresseur___0T \
Fgetenv("BCompresseur___0T")
#define BDeCompresseur___0T \
Fgetenv("BDeCompresseur_0T")
#define PostFixe_CDC__0T \
Fgetenv("PostFixe_CDC__0T")
/* Definition du couple {compresseur,decompresseur} "Basique" T. Ces definitions ont ete */
/* introduites le 20140123171115 dans le but de definir des couples Temporaires et qui */
/* utilisent des Transformations... */
#define COMPRESSION_CONVERT(BCompresseur,PostFixe) \
main(int argc,char *argv[]) \
{ \
if (argc != 2) \
{ \
fprintf(stderr,"Il y a %d arguments, alors qu'il en faut un et un seul.\n",argc-1); \
} \
else \
{ \
if (LongueurFichier(NOM_DU_FICHIER,VRAI) > 0) \
{ \
int TailleFichierCompresseLePlusCourt=INFINI; \
/* Ne sert a rien, mais doit etre conserve a cause de 'COMPRESSION(...)'. */ \
\
EXECUTION_COMMANDE(CONCATENE_CHAINE_04(DELETE,ESPACE,NOM_DU_FICHIER,PostFixe)); \
EXECUTION_COMMANDE(CONCATENE_CHAINE_09(cat,ESPACE,NOM_DU_FICHIER,ESPACE \
,PIPE \
,BCompresseur \
,REDIRECTION,NOM_DU_FICHIER,PostFixe \
) \
); \
/* Compression... */ \
\
EXECUTION_COMMANDE(CONCATENE_CHAINE_03(DELETE,ESPACE,NOM_DU_FICHIER)); \
/* Enfin, le fichier a compresser est detruit afin que le comportenement de ce '$X' soit */ \
/* compatible avec les compresseurs "standards"... */ \
} \
else \
{ \
} \
} \
\
return(OK); \
} \
/* Compression d'un fichier via 'BCompresseur'... */
#define DECOMPRESSION_CONVERT(BDeCompresseur,PostFixe) \
main(int argc,char *argv[]) \
{ \
if (argc != 2) \
{ \
fprintf(stderr,"Il y a %d arguments, alors qu'il en faut un et un seul.\n",argc-1); \
} \
else \
{ \
char *NOM_DU_FICHIER_sans_postfixe=SuppressionPostFixes2(NOM_DU_FICHIER); \
\
if (LongueurFichier(NOM_DU_FICHIER_sans_postfixe,FAUX) == 0) \
{ \
int NombreDeFichiersDecompresses=0; \
/* Ne sert a rien, mais doit etre conserve a cause de 'DECOMPRESSION(...)'. */ \
\
EXECUTION_COMMANDE(CONCATENE_CHAINE_03(DELETE,ESPACE,NOM_DU_FICHIER_sans_postfixe)); \
EXECUTION_COMMANDE(CONCATENE_CHAINE_09(cat,ESPACE \
,NOM_DU_FICHIER_sans_postfixe,PostFixe,ESPACE \
,PIPE \
,BDeCompresseur \
,REDIRECTION,NOM_DU_FICHIER_sans_postfixe \
) \
); \
/* DeCompression... */ \
\
EXECUTION_COMMANDE(CONCATENE_CHAINE_04(DELETE,ESPACE \
,NOM_DU_FICHIER_sans_postfixe,PostFixe \
) \
); \
} \
else \
{ \
fprintf(stderr,"Le fichier '%s' existe deja.\n",NOM_DU_FICHIER_sans_postfixe); \
} \
} \
\
return(OK); \
} \
/* DeCompression d'un fichier via 'BDeCompresseur'... */