blob: cb5fa439f305fc32daffe640642dc5372437d746 (
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
30
|
define SKIP ($1==' '||$1=='t'||$1=='"'||$1==''')
# ID_LABEL -- Set label
procedure id_label (str, label)
char str[ARB] # String to be set
pointer label # Label pointer to be set
int i, j, strlen()
pointer cp
begin
call mfree (label, TY_CHAR)
for (i=1; str[i]!=EOS && SKIP(str[i]); i=i+1)
;
for (j=strlen(str); j>=i && SKIP(str[j]); j=j-1)
;
if (i <= j) {
call malloc (label, j-i+1, TY_CHAR)
cp = label
for (; i<=j; i=i+1) {
Memc[cp] = str[i]
cp = cp + 1
}
Memc[cp] = EOS
}
end
|