userList = calloc(VALID_NICK_CHARS_FIRST_LEN+1, sizeof(*userList));
}
+void free_UserNode() {
+ //kamikaze free all users
+ //chanusers will be destroyed in free_ChanNode()
+ int i;
+ struct UserNode *user, *next;
+ for(i = 0; i < VALID_NICK_CHARS_FIRST_LEN+1; i++) {
+ for(user = userList[i]; user; user = next) {
+ next = user->next;
+ free(user);
+ }
+ }
+ free(userList);
+}
+
int is_valid_nick(const char *nick) {
unsigned int i;
//first char must be one of: a-zA-Z{|}~[\]^_`