]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1996/02/15 17:49:46 mclareni | |
6 | * Kernlib | |
7 | * | |
8 | * | |
9 | #include "kerngen/pilot.h" | |
10 | FUNCTION ICLOCL (CHI,NI,CHV,JL,JR) | |
11 | C | |
12 | C CERN PROGLIB# M432 ICLOCL .VERSION KERNFOR 4.22 890913 | |
13 | C ORIG. 09/02/89, JZ | |
14 | C | |
15 | C- Locate CHI of NI characters inside CHV(JL:JR), | |
16 | C- CHI must be given in lower case, CHV case insensitive | |
17 | ||
18 | CHARACTER CHI*(*), CHV*(*), CHWK1*1 | |
19 | #include "kerngen/qnatch.inc" | |
20 | * Ignoring t=pass | |
21 | ||
22 | JVV = JL - 1 | |
23 | JVVE = JR+1 - NI | |
24 | CHWK1 = CHI(1:1) | |
25 | #if defined(CERNLIB_QASCII) | |
26 | NAT1 = 0 | |
27 | IVX1 = ICHAR(CHWK1) - 32 | |
28 | IF (IVX1.LT.65) GO TO 12 | |
29 | IF (IVX1.GE.91) GO TO 12 | |
30 | NAT1 = 3 | |
31 | #endif | |
32 | #if defined(CERNLIB_QEBCDIC) | |
33 | IVX1 = ICHAR(CHWK1) | |
34 | NAT1 = NATCH(IVX1+1) | |
35 | IVX1 = IVX1 + 64 | |
36 | #endif | |
37 | ||
38 | C-- Scan CHV to find the first char. of CHI | |
39 | ||
40 | 12 JVV = JVV + 1 | |
41 | IF (JVV.GT.JVVE) GO TO 90 | |
42 | IF (CHV(JVV:JVV).NE.CHWK1) THEN | |
43 | IF (NAT1.NE.3) GO TO 12 | |
44 | IF (ICHAR(CHV(JVV:JVV)).NE.IVX1) GO TO 12 | |
45 | ENDIF | |
46 | ||
47 | C-- Match the further characters | |
48 | ||
49 | JVX = JVV | |
50 | JI = 1 | |
51 | 14 JI = JI + 1 | |
52 | IF (JI.GT.NI) GO TO 91 | |
53 | JVX = JVX + 1 | |
54 | IF (CHV(JVX:JVX).EQ.CHI(JI:JI)) GO TO 14 | |
55 | #if defined(CERNLIB_QASCII) | |
56 | IVAL = ICHAR(CHI(JI:JI)) | |
57 | IF (ICHAR(CHV(JVX:JVX)).NE.IVAL-32) GO TO 12 | |
58 | IF (IVAL.LT.97) GO TO 12 | |
59 | IF (IVAL.GE.123) GO TO 12 | |
60 | #endif | |
61 | #if defined(CERNLIB_QEBCDIC) | |
62 | IVAL = ICHAR(CHI(JI:JI)) | |
63 | IF (ICHAR(CHV(JVX:JVX)).NE.IVAL+64) GO TO 12 | |
64 | IF (NATCH(IVAL+1).NE.3) GO TO 12 | |
65 | #endif | |
66 | GO TO 14 | |
67 | ||
68 | 90 JVV = 0 | |
69 | 91 ICLOCL = JVV | |
70 | RETURN | |
71 | END |