c ************************************************************************ c * c * util.f - c * c * Copyright (c) 1995 c * c * ETH Zuerich c * Institut fuer Molekularbiologie und Biophysik c * ETH-Hoenggerberg c * CH-8093 Zuerich c * c * All Rights Reserved c * c * Date of last modification : 95/09/15 c * Pathname of SCCS file : /export/home3/cb/garant-1.0/src/SCCS/s.util.f c * SCCS identification : 1.3 c * c ************************************************************************ c ================================================================== c UTIL: Utility routines c c icoman complete abbreviated names c lefstr remove preceding blanks in a string c lenstr determine length of a string c c ================================================================== function icoman(cmd,comand,ncmd) character*(*) cmd,comand(ncmd) lcmd=lenstr(cmd) icoman=0 do 20 i=1,ncmd if (cmd.eq.comand(i)(1:lcmd)) then if (icoman.ne.0 .and. cmd.ne.comand(i)) then icoman=-1 return end if icoman=i if (cmd.eq.comand(i)) return end if 20 continue end c ================================================================== subroutine lefstr(s) character*(*) s logical flag if (s(1:1).gt.' ' .or. s.eq.' ') return i=0 flag=.false. do 10 l=1,len(s) flag=flag.or.s(l:l).gt.' ' if (flag) then i=i+1 s(i:i)=s(l:l) end if 10 continue s(i+1:)=' ' end c ================================================================== function lenstr(s) character*(*) s do 10 l=len(s),1,-1 10 if (s(l:l).gt.' ') go to 20 20 lenstr=l end