c@a c@versb C----------------------------------------------------------------------- C CVERS Code_Saturne version 1.3 C ------------------------ C C This file is part of the Code_Saturne Kernel, element of the C Code_Saturne CFD tool. C C Copyright (C) 1998-2007 EDF S.A., France C C contact: saturne-support@edf.fr C C The Code_Saturne Kernel is free software; you can redistribute it C and/or modify it under the terms of the GNU General Public License C as published by the Free Software Foundation; either version 2 of C the License, or (at your option) any later version. C C The Code_Saturne Kernel is distributed in the hope that it will be C useful, but WITHOUT ANY WARRANTY; without even the implied warranty C of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the C GNU General Public License for more details. C C You should have received a copy of the GNU General Public License C along with the Code_Saturne Kernel; if not, write to the C Free Software Foundation, Inc., C 51 Franklin St, Fifth Floor, C Boston, MA 02110-1301 USA C C----------------------------------------------------------------------- c@verse SUBROUTINE UNDSCR C ***************** C ------------------------------------------------------------- & ( IDEB , IFIN , CHAINE ) C ------------------------------------------------------------- C*********************************************************************** C FONCTION : C --------- c@foncb CFONC CFONC ON REMPLACE LES CARACTERES GENANTS PAR DES UNDERSCORES CFONC c@fonce C----------------------------------------------------------------------- C ARGUMENTS c@argub CARGU .______________.____._____.______________________________________. CARGU ! NOM !TYPE!MODE ! ROLE ! CARGU !______________!____!_____!______________________________________! CARGU ! IDEB ! I ! -> ! DEBUT DE LA CHAINE ! CARGU ! IFIN ! I ! -> ! FIN DE LA CHAINE ! CARGU ! CHAINE ! C ! <-> ! CHAINE DE CARACTERES ! CARGU !______________!____!_____!______________________________________! c@argue C c@commb CCOMM COMMONS CCOMM .______________.____._____.______________________________________. CCOMM ! NOM !TYPE!MODE ! ROLE ! CCOMM !______________!____!_____!______________________________________! CCOMM !______________!____!_____!______________________________________! c@comme C C TYPE : E (ENTIER), R (REEL), A (ALPHANUMERIQUE), T (TABLEAU) C L (LOGIQUE) .. ET TYPES COMPOSES (EX : TR TABLEAU REEL) C MODE : -> DONNEE, <- RESULTAT, <-> DONNEE MODIFIEE, C - TABLEAU DE TRAVAIL C*********************************************************************** C IMPLICIT NONE C C ARGUMENTS C CHARACTER CHAINE*(*) INTEGER IDEB, IFIN C C VARIABLES LOCALES C INTEGER NN C C*********************************************************************** C C Si chaine vide, on ne fait rien et en particulier C on ne modifie pas CHAINE(0:0) C IF(IDEB.LE.0.AND.IFIN.LE.0) RETURN C DO NN = IDEB,IFIN IF(CHAINE(NN:NN).eq.' ') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'(') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.')') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'[') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.']') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'+') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'-') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'@') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'!') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'#') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'*') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'^') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'$') CHAINE(NN:NN) = '_' IF(CHAINE(NN:NN).eq.'/') CHAINE(NN:NN) = '_' ENDDO C END c@z