/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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'...                                        */



Copyright © Jean-François Colonna, 2013-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2013-2021.