aboutsummaryrefslogtreecommitdiff
path: root/noao/rv/rvidlines/iddelete.x
blob: cd96abb181d8314939aa60c63c4c290dea90ebb1 (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
include	"identify.h"

# ID_DELETE -- Delete a feature.

procedure id_delete (id, feature)

pointer	id			# ID pointer
int	feature			# Feature to be deleted

int	i

begin
	call mfree (Memi[ID_LABEL(id)+feature-1], TY_CHAR)
	do i = feature + 1, ID_NFEATURES(id) {
	    PIX(id,i-1) = PIX(id,i)
	    FIT(id,i-1) = FIT(id,i)
	    USER(id,i-1) = USER(id,i)
	    WTS(id,i-1) = WTS(id,i)
	    FWIDTH(id,i-1) = FWIDTH(id,i)
	    FTYPE(id,i-1) = FTYPE(id,i)
	    Memi[ID_LABEL(id)+i-2] = Memi[ID_LABEL(id)+i-1]
	}
	Memi[ID_LABEL(id)+ID_NFEATURES(id)-1] = NULL
	ID_NFEATURES(id) = ID_NFEATURES(id) - 1
	ID_NEWFEATURES(id) = YES
end