aboutsummaryrefslogtreecommitdiff
path: root/unix/boot/spp/rpp/ratlibr/getccl.r
blob: 727cc7d631f193f604fc03b1b3580c5234cd48d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
include	defs

# getccl --- expand char class at arg (i) into pat (j)

   integer function getccl (arg, i, pat, j)
   character arg (MAXARG), pat (MAXPAT)
   integer i, j

   integer jstart, junk
   integer addset

   i = i + 1	  # skip over [
   if (arg (i) == NOT) {
      junk = addset (NCCL, pat, j, MAXPAT)
      i = i + 1
      }
   else
      junk = addset (CCL, pat, j, MAXPAT)
   jstart = j
   junk = addset (0, pat, j, MAXPAT)	  # leave room for count
   call filset (CCLEND, arg, i, pat, j, MAXPAT)
   pat (jstart) = j - jstart - 1
   if (arg (i) == CCLEND)
      getccl = OK
   else
      getccl = ERR

   return
   end