aboutsummaryrefslogtreecommitdiff
path: root/noao/onedspec/identify/idlabel.x
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