equal
deleted
inserted
replaced
84 return -1; |
84 return -1; |
85 } |
85 } |
86 |
86 |
87 int flib_roomlist_add(flib_roomlist *list, char **params) { |
87 int flib_roomlist_add(flib_roomlist *list, char **params) { |
88 int result = -1; |
88 int result = -1; |
89 if(!list || !params) { |
89 if(!log_badargs_if2(list==NULL, params==NULL)) { |
90 flib_log_e("null parameter in flib_roomlist_add"); |
|
91 } else { |
|
92 flib_room *tmpRoom = fillRoomFromParams(params); |
90 flib_room *tmpRoom = fillRoomFromParams(params); |
93 if(tmpRoom) { |
91 if(tmpRoom) { |
94 if(!insertRoom(&list->rooms, &list->roomCount, tmpRoom, 0)) { |
92 if(!insertRoom(&list->rooms, &list->roomCount, tmpRoom, 0)) { |
95 tmpRoom = NULL; |
93 tmpRoom = NULL; |
96 result = 0; |
94 result = 0; |
101 return result; |
99 return result; |
102 } |
100 } |
103 |
101 |
104 int flib_roomlist_delete(flib_roomlist *list, const char *name) { |
102 int flib_roomlist_delete(flib_roomlist *list, const char *name) { |
105 int result = -1; |
103 int result = -1; |
106 if(!list || !name) { |
104 if(!log_badargs_if2(list==NULL, name==NULL)) { |
107 flib_log_e("null parameter in flib_roomlist_delete"); |
|
108 } else { |
|
109 int roomid = findRoom(list, name); |
105 int roomid = findRoom(list, name); |
110 if(roomid<0) { |
106 if(roomid<0) { |
111 flib_log_w("Attempt to delete unknown room %s", name); |
107 flib_log_w("Attempt to delete unknown room %s", name); |
112 } else { |
108 } else { |
113 flib_room *room = list->rooms[roomid]; |
109 flib_room *room = list->rooms[roomid]; |
120 return result; |
116 return result; |
121 } |
117 } |
122 |
118 |
123 int flib_roomlist_update(flib_roomlist *list, const char *name, char **params) { |
119 int flib_roomlist_update(flib_roomlist *list, const char *name, char **params) { |
124 int result = -1; |
120 int result = -1; |
125 if(!list || !name || !params) { |
121 if(!log_badargs_if3(list==NULL, name==NULL, params==NULL)) { |
126 flib_log_e("null parameter in flib_roomlist_update"); |
|
127 } else { |
|
128 flib_room *tmpRoom = fillRoomFromParams(params); |
122 flib_room *tmpRoom = fillRoomFromParams(params); |
129 int roomid = findRoom(list, name); |
123 int roomid = findRoom(list, name); |
130 if(tmpRoom && roomid>=0) { |
124 if(tmpRoom && roomid>=0) { |
131 flib_roomlist_room_destroy(list->rooms[roomid]); |
125 flib_roomlist_room_destroy(list->rooms[roomid]); |
132 list->rooms[roomid] = tmpRoom; |
126 list->rooms[roomid] = tmpRoom; |
138 return result; |
132 return result; |
139 } |
133 } |
140 |
134 |
141 flib_room *flib_roomlist_find(const flib_roomlist *list, const char *name) { |
135 flib_room *flib_roomlist_find(const flib_roomlist *list, const char *name) { |
142 flib_room *result = NULL; |
136 flib_room *result = NULL; |
143 if(!list || !name) { |
137 if(!log_badargs_if2(list==NULL, name==NULL)) { |
144 flib_log_e("null parameter in flib_roomlist_find"); |
|
145 } else { |
|
146 int roomid = findRoom(list, name); |
138 int roomid = findRoom(list, name); |
147 if(roomid>=0) { |
139 if(roomid>=0) { |
148 result = list->rooms[roomid]; |
140 result = list->rooms[roomid]; |
149 } |
141 } |
150 } |
142 } |
151 return result; |
143 return result; |
152 } |
144 } |
153 |
145 |
154 void flib_roomlist_clear(flib_roomlist *list) { |
146 void flib_roomlist_clear(flib_roomlist *list) { |
155 if(!list) { |
147 if(!log_badargs_if(list==NULL)) { |
156 flib_log_e("null parameter in flib_roomlist_clear"); |
|
157 } else { |
|
158 for(int i=0; i<list->roomCount; i++) { |
148 for(int i=0; i<list->roomCount; i++) { |
159 flib_roomlist_room_destroy(list->rooms[i]); |
149 flib_roomlist_room_destroy(list->rooms[i]); |
160 } |
150 } |
161 free(list->rooms); |
151 free(list->rooms); |
162 list->rooms = NULL; |
152 list->rooms = NULL; |