/*************************************************************************************************************************************/ /* */ /* S O R T I E D ' U N F I C H I E R S U R ' STREAM_OUT ' O U ' STREAM_ERREUR ' : */ /* */ /* */ /* Author of '$xcg/StdOutErr.01$K' : */ /* */ /* Jean-Francois COLONNA (LACTAMME, 19990825120853). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* I N T E R F A C E ' listG ' : */ /* */ /* */ /* :Debut_listG: */ /* :Fin_listG: */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* D I R E C T I V E S S P E C I F I Q U E S D E C O M P I L A T I O N : */ /* */ /*************************************************************************************************************************************/ @define PRAGMA_CL_____PAS_DE_LIBRAIRIES_DYNAMIQUES /* Introduit le 20150203140227, c'est plus prudent... */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* F I C H I E R S D ' I N C L U D E S : */ /* */ /*************************************************************************************************************************************/ #include INCLUDES_MINI /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* P A R A M E T R E S : */ /* */ /*************************************************************************************************************************************/ #define SORTIR_SUR_STREAM_OUT \ FAUX \ /* Faut-il sortir sur 'STREAM_OUT' ('VRAI') ou pas ('FAUX') ? */ #define SORTIR_SUR_STREAM_ERREUR \ VRAI \ /* Faut-il sortir sur 'STREAM_ERREUR' ('VRAI') ou pas ('FAUX') ? */ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* M A C R O S U T I L E S : */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* S O R T I E D ' U N F I C H I E R S U R ' STREAM_OUT ' O U ' STREAM_ERREUR ' : */ /* */ /*************************************************************************************************************************************/ BCommande(nombre_d_arguments,arguments) /*-----------------------------------------------------------------------------------------------------------------------------------*/ Bblock DEFV(Logical,INIT(sortir_sur_STREAM_OUT,SORTIR_SUR_STREAM_OUT)); /* Faut-il sortir sur 'STREAM_OUT' ('VRAI') ou pas ('FAUX') ? */ DEFV(Logical,INIT(sortir_sur_STREAM_ERREUR,SORTIR_SUR_STREAM_ERREUR)); /* Faut-il sortir sur 'STREAM_ERREUR' ('VRAI') ou pas ('FAUX') ? */ DEFV(Char,INIT(caractere_courant,K_UNDEF)); /* Caractere courant. */ /*..............................................................................................................................*/ GET_ARGUMENTS_(nombre_d_arguments ,BLOC(GET_ARGUMENT_L("stdout=""out=""STREAM_OUT=",sortir_sur_STREAM_OUT); /* Le 20050623140410, "OUT=" a ete remplace par "STREAM_OUT=" (double definition...). */ GET_ARGUMENT_L("stderr=""erreur=""STREAM_ERREUR=",sortir_sur_STREAM_ERREUR); /* Le 20050623140410, "ERREUR=" a ete remplace par "STREAM_ERREUR=" (double definition...). */ ) ); Tant(GetcharT(caractere_courant)) Bblock /* Le caractere courant de l'entree courante est recupere ; et on boucle */ /* sur cette recuperation tant que l'on n'est pas au bout du fichier. */ Test(IL_FAUT(sortir_sur_STREAM_OUT)) Bblock CALS(Putc(caractere_courant,STREAM_OUT)); /* Les caracteres sont transmis sur 'STREAM_OUT'. */ Eblock ATes Bblock Eblock ETes Test(IL_FAUT(sortir_sur_STREAM_ERREUR)) Bblock CALS(Putc(caractere_courant,STREAM_ERREUR)); /* Les caracteres sont transmis sur 'STREAM_ERREUR'. Cette possibilite est exploitee dans */ /* 'v $xiMo/LOG_xiMc$D/GetVisit$vv$Y StdOutErr.01' ce qui permet de sortir des messages */ /* sur 'STREAM_ERREUR', alors que 'STREAM_OUT' est redirige vers un fichier... */ Eblock ATes Bblock Eblock ETes Eblock ETan RETU_Commande; Eblock ECommande