Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / beh / beh / beh_rmvbeder.c
1
2 /* ###--------------------------------------------------------------### */
3 /* */
4 /* file : beh_rmvbeder.c */
5 /* date : Mar 22 1995 */
6 /* version : v100 */
7 /* authors : Laurent VUILLEMIN */
8 /* content : low-level function */
9 /* */
10 /* ###--------------------------------------------------------------### */
11
12 #include <stdio.h>
13 #include MUT_H
14 #include LOG_H
15 #include BEH_H
16
17 /* ###--------------------------------------------------------------### */
18 /* function : beh_rmvbeder */
19 /* description : delete a BERIN structure and return the pointer of */
20 /* the next object. */
21 /* called func. : mbkfree */
22 /* ###--------------------------------------------------------------### */
23
24 beder_list *beh_rmvbeder (listbeder, bederindex)
25
26 beder_list *listbeder; /* list of beder containing the object */
27 short bederindex; /* index of the BEDER to be deleted */
28
29 {
30 struct beder headder;
31 struct beder *ptlastder;
32 struct beder *ptbeder;
33
34 if (listbeder != NULL)
35 {
36
37 /* ###------------------------------------------------------### */
38 /* Search the object to be deleted */
39 /* ###------------------------------------------------------### */
40
41 headder.NEXT = listbeder;
42 headder.INDEX=0;
43 ptbeder = &headder;
44 while ((ptbeder != NULL) && (ptbeder->INDEX != bederindex))
45 {
46 ptlastder = ptbeder;
47 ptbeder = ptbeder->NEXT;
48 }
49
50 if (ptbeder != NULL)
51 {
52
53 /* ###------------------------------------------------------### */
54 /* If the object doesn't exist return the list without */
55 /* modification. */
56 /* ###------------------------------------------------------### */
57
58
59 ptlastder->NEXT = ptbeder->NEXT;
60 mbkfree (ptbeder);
61 }
62
63 listbeder = headder.NEXT;
64 }
65
66 return(listbeder);
67 }