strcpy(client->username + 1, args[0]);
// set realname
free(client->realname); // ditto
- client->realname = strdup(args[3]);
+ client->realname = mystrdup(args[3]);
if (!client->realname)
abort();
- client->hostname = strdup(hostname);
+ client->hostname = mystrdup(hostname);
if (!client->hostname)
abort();
// Send welcome
return 0;
if (args[0]) {
free(client->away);
- client->away = strdup(args[0]);
+ client->away = mystrdup(args[0]);
if (!client->away) abort();
copy_strf(&databuf, ":%s 306 %s :You have been marked as being away\n", hostname, client->nick);
send_log(client->FD, databuf.buf, databuf.len, 0);
#include <stdlib.h>
+#include <string.h>
struct dynarr {
char *buf;
#define copy_strf(d, ...) append_strf(((d)->len=0, (d)), __VA_ARGS__)
void stringupper(char *s);
void stringlower(char *s);
+#ifndef _MSC_VER
+#pragma GCC poison strdup
+#endif
char *mystrdup(const char *s);