1*-----------------------------------------------------------------------
2*     LCHREQ FOR ASCII CHARACTER CODE
3*-----------------------------------------------------------------------
4*     Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved.
5*-----------------------------------------------------------------------
6      LOGICAL FUNCTION LCHREQ(CH1,CH2)
7
8      CHARACTER CH1*(*),CH2*(*)
9
10
11      LCHREQ=.TRUE.
12      LCH1=LEN(CH1)
13      LCH2=LEN(CH2)
14      LCHMAX=MAX(LCH1,LCH2)
15      LCHMIN=MIN(LCH1,LCH2)
16
17      DO 10 I=1,LCHMIN
18        IDX1=ICHAR(CH1(I:I))
19        IDX2=ICHAR(CH2(I:I))
20        IF (IDX1.NE.IDX2) THEN
21          IF (65.LE.IDX1 .AND. IDX1.LE.90) THEN
22            LCHREQ=(IDX2-IDX1).EQ.32
23          ELSE IF (97.LE.IDX1 .AND. IDX1.LE.122) THEN
24            LCHREQ=(IDX1-IDX2).EQ.32
25          ELSE
26            LCHREQ=.FALSE.
27          END IF
28          IF (.NOT.LCHREQ) RETURN
29        END IF
30   10 CONTINUE
31      IF (LCH1.EQ.LCH2) RETURN
32
33      IBLK=ICHAR(' ')
34      IF (LCH1.GT.LCH2) THEN
35        DO 20 I=LCHMIN+1,LCHMAX
36          LCHREQ=ICHAR(CH1(I:I)).EQ.IBLK
37          IF (.NOT.LCHREQ) RETURN
38   20   CONTINUE
39      ELSE
40        DO 30 I=LCHMIN+1,LCHMAX
41          LCHREQ=ICHAR(CH2(I:I)).EQ.IBLK
42          IF (.NOT.LCHREQ) RETURN
43   30   CONTINUE
44      END IF
45
46      END
47