+/* $Id$ */
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include "citadel.h"
#include "server.h"
#include <syslog.h>
-#ifdef NEED_SELECT_H
+#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#include "serv_chat.h"
}
clnew = (struct ChatLine *) malloc(sizeof(struct ChatLine));
- bzero(clnew, sizeof(struct ChatLine));
+ memset(clnew, 0, sizeof(struct ChatLine));
if (clnew == NULL) {
fprintf(stderr, "citserver: cannot alloc chat line: %s\n",
strerror(errno));
time(&now);
clnew->next = NULL;
clnew->chat_time = now;
- strncpy(clnew->chat_room, roomname, ROOMNAMELEN-1);
+ strncpy(clnew->chat_room, roomname, sizeof clnew->chat_room);
+ clnew->chat_room[sizeof clnew->chat_room - 1] = 0;
if (username)
- strncpy(clnew->chat_username, username, 31);
+ {
+ strncpy(clnew->chat_username, username,
+ sizeof clnew->chat_username);
+ clnew->chat_username[sizeof clnew->chat_username - 1] = 0;
+ }
else
clnew->chat_username[0] = '\0';
strcpy(clnew->chat_text, bcast);
strcpy(CC->chat_room, "Main room");
else
{
- strncpy(CC->chat_room, &cmdbuf[6], ROOMNAMELEN);
+ strncpy(CC->chat_room, &cmdbuf[6],
+ sizeof CC->chat_room);
+ CC->chat_room[sizeof CC->chat_room - 1] = 0;
}
allwrite("<joining room>",0, CC->chat_room, NULL);
cprintf("\n");