diff options
author | malufett <malufett.eat.my.binaries@gmail.com> | 2013-07-21 21:07:49 +0800 |
---|---|---|
committer | malufett <malufett.eat.my.binaries@gmail.com> | 2013-07-21 21:07:49 +0800 |
commit | 760faf643731de9d38623dce4d129375801f8b33 (patch) | |
tree | 12a748aa89937f240f9c8eba472e58501f94008f /src/map/irc-bot.c | |
parent | 8b00d9bd079514a1c307ef5d2e6614055e8f874e (diff) | |
parent | fe946e819d935ca92208e32b6b2766ec92b30601 (diff) | |
download | hercules-760faf643731de9d38623dce4d129375801f8b33.tar.gz hercules-760faf643731de9d38623dce4d129375801f8b33.tar.bz2 hercules-760faf643731de9d38623dce4d129375801f8b33.tar.xz hercules-760faf643731de9d38623dce4d129375801f8b33.zip |
Merge branch 'master' of https://github.com/HerculesWS/Hercules
Diffstat (limited to 'src/map/irc-bot.c')
-rw-r--r-- | src/map/irc-bot.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/map/irc-bot.c b/src/map/irc-bot.c index 0be8074c8..d3782bd9b 100644 --- a/src/map/irc-bot.c +++ b/src/map/irc-bot.c @@ -120,15 +120,12 @@ void irc_parse_source(char *source, char *nick, char *ident, char *host) { for(i = 0; i < len; i++) { if( stage == 0 && source[i] == '!' ) { - memcpy(nick, &source[0], min(i,IRC_NICK_LENGTH)); - nick[i] = '\0'; + safestrncpy(nick, &source[0], min(i + 1, IRC_NICK_LENGTH)); pos = i+1; stage = 1; } else if( stage == 1 && source[i] == '@' ) { - memcpy(ident, &source[pos], min(i - pos,IRC_IDENT_LENGTH)); - ident[i-pos] = '\0'; - memcpy(host, &source[i+1], min(len - i,IRC_HOST_LENGTH)); - host[len] = '\0'; + safestrncpy(ident, &source[pos], min(i - pos + 1, IRC_IDENT_LENGTH)); + safestrncpy(host, &source[i+1], min(len - i, IRC_HOST_LENGTH)); break; } } |