Path: blob/main/irc/icbirc/files/patch-icb.c
14237 views
--- icb.c.orig 2015-08-21 19:01:12 UTC1+++ icb.c2@@ -30,7 +30,9 @@3*4*/56+#if 07static const char rcsid[] = "$Id: icb.c,v 1.3 2015/08/21 19:01:12 dhartmei Exp $";8+#endif910#include <stdio.h>11#include <stdlib.h>12@@ -40,8 +42,8 @@ static const char rcsid[] = "$Id: icb.c,v 1.3 2015/08/1314extern int sync_write(int, const char *, int);1516-static unsigned char icb_args(const char *, unsigned char, char [255][255]);17-static void icb_cmd(const char *, unsigned char, int, int);18+static unsigned char icb_args(const unsigned char *, unsigned char, char [255][255]);19+static void icb_cmd(const unsigned char *, unsigned char, int, int);20static void icb_ico(int, const char *);21static void icb_iwl(int, const char *, const char *, long,22long, const char *, const char *);23@@ -109,7 +111,7 @@ static unsigned off;24*/2526void27-scan(const char **s, char *d, size_t siz, const char *skip, const char *term)28+scan(const unsigned char **s, char *d, size_t siz, const char *skip, const char *term)29{30while (**s && strchr(skip, **s) != NULL)31(*s)++;32@@ -164,7 +166,7 @@ icb_recv(const char *buf, unsigned len, int fd, int se33}3435static unsigned char36-icb_args(const char *data, unsigned char len, char args[255][255])37+icb_args(const unsigned char *data, unsigned char len, char args[255][255])38{39unsigned char i = 0, j = 0, k = 0;4041@@ -190,10 +192,10 @@ icb_args(const char *data, unsigned char len, char arg42}4344static void45-icb_cmd(const char *cmd, unsigned char len, int fd, int server_fd)46+icb_cmd(const unsigned char *cmd, unsigned char len, int fd, int server_fd)47{48char args[255][255];49- const char *a = args[1];50+ const unsigned char *a = (unsigned char *)args[1];51unsigned char i, j;52char s[8192];5354@@ -269,7 +271,7 @@ icb_cmd(const char *cmd, unsigned char len, int fd, in55char old_nick[256], new_nick[256];5657scan(&a, old_nick, sizeof(old_nick), " ", " ");58- if (strncmp(a, " changed nickname to ", 21))59+ if (strncmp((const char *)a, " changed nickname to ", 21))60return;61a += 21;62scan(&a, new_nick, sizeof(new_nick), " ", " ");63@@ -283,7 +285,7 @@ icb_cmd(const char *cmd, unsigned char len, int fd, in64char nick[256], topic[256];6566scan(&a, nick, sizeof(nick), " ", " ");67- if (strncmp(a, " changed the topic to \"", 23))68+ if (strncmp((const char *)a, " changed the topic to \"", 23))69return;70a += 23;71scan(&a, topic, sizeof(topic), "", "\"");72@@ -294,13 +296,13 @@ icb_cmd(const char *cmd, unsigned char len, int fd, in73char old_mod[256], new_mod[256];7475scan(&a, old_mod, sizeof(old_mod), " ", " ");76- if (!strncmp(a, " has passed moderation to ", 26)) {77+ if (!strncmp((const char *)a, " has passed moderation to ", 26)) {78a += 26;79scan(&a, new_mod, sizeof(new_mod), " ", " ");80snprintf(s, sizeof(s),81":%s MODE %s -o+o %s %s\r\n",82old_mod, irc_channel, old_mod, new_mod);83- } else if (!strcmp(a, " is now mod.")) {84+ } else if (!strcmp((const char *)a, " is now mod.")) {85snprintf(s, sizeof(s),86":%s MODE %s +o %s\r\n",87icb_hostid, irc_channel, old_mod);88@@ -312,7 +314,7 @@ icb_cmd(const char *cmd, unsigned char len, int fd, in89char nick[256];9091scan(&a, nick, sizeof(nick), " ", " ");92- if (strcmp(a, " was booted."))93+ if (strcmp((const char *)a, " was booted."))94return;95snprintf(s, sizeof(s), ":%s KICK %s %s :booted\r\n",96icb_moderator, irc_channel, nick);97@@ -523,7 +525,7 @@ icb_send_openmsg(int fd, const char *msg)98cmd[off++] = 0;99cmd[0] = off - 1;100/* cmd[0] <= MAX_MSG_SIZE */101- sync_write(fd, cmd, off);102+ sync_write(fd, (const char *)cmd, off);103}104}105106@@ -548,7 +550,7 @@ icb_send_privmsg(int fd, const char *nick, const char107cmd[off++] = 0;108cmd[0] = off - 1;109/* cmd[0] <= MAX_MSG_SIZE */110- sync_write(fd, cmd, off);111+ sync_write(fd, (const char *)cmd, off);112}113}114115116117