ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/links.C
Revision: 1.2
Committed: Sun Sep 10 16:00:23 2006 UTC (17 years, 8 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.1: +25 -14 lines
Log Message:
indent

File Contents

# User Rev Content
1 root 1.2
2 elmex 1.1 /*
3     * static char *rcsid_friend_c =
4 root 1.2 * "$Id: links.C,v 1.1 2006-08-13 17:16:00 elmex Exp $";
5 elmex 1.1 */
6    
7     /*
8     CrossFire, A Multiplayer game for X-windows
9    
10     Copyright (C) 1992 Frank Tore Johansen
11    
12     This program is free software; you can redistribute it and/or modify
13     it under the terms of the GNU General Public License as published by
14     the Free Software Foundation; either version 2 of the License, or
15     (at your option) any later version.
16    
17     This program is distributed in the hope that it will be useful,
18     but WITHOUT ANY WARRANTY; without even the implied warranty of
19     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20     GNU General Public License for more details.
21    
22     You should have received a copy of the GNU General Public License
23     along with this program; if not, write to the Free Software
24     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25    
26     The author can be reached via e-mail to frankj@ifi.uio.no.
27     */
28    
29     #include <global.h>
30    
31     /*
32     * Allocates a new objectlink structure, initialises it, and returns
33     * a pointer to it.
34     */
35    
36 root 1.2 objectlink *
37     get_objectlink (void)
38     {
39     objectlink *ol = (objectlink *) CALLOC (1, sizeof (objectlink));
40    
41     ol->ob = NULL;
42     ol->next = NULL;
43 elmex 1.1 ol->id = 0;
44     return ol;
45     }
46    
47     /*
48     * Allocates a new oblinkpt structure, initialises it, and returns
49     * a pointer to it.
50     */
51    
52 root 1.2 oblinkpt *
53     get_objectlinkpt (void)
54     {
55     oblinkpt *obp = (oblinkpt *) malloc (sizeof (oblinkpt));
56    
57 elmex 1.1 obp->link = NULL;
58     obp->next = NULL;
59     obp->value = 0;
60     return obp;
61     }
62    
63     /*
64     * Recursively frees all objectlinks
65     */
66    
67 root 1.2 void
68     free_objectlink (objectlink * ol)
69     {
70 elmex 1.1 if (ol->next)
71 root 1.2 free_objectlink (ol->next);
72     free (ol);
73 elmex 1.1 }
74    
75     /*
76     * Recursively frees all linked list of objectlink pointers
77     */
78    
79 root 1.2 void
80     free_objectlinkpt (oblinkpt * obp)
81     {
82 elmex 1.1 if (obp->next)
83 root 1.2 free_objectlinkpt (obp->next);
84 elmex 1.1 if (obp->link)
85 root 1.2 free_objectlink (obp->link);
86     free (obp);
87 elmex 1.1 }