aboutsummaryrefslogtreecommitdiff
path: root/server_network.c
diff options
context:
space:
mode:
authorTest_User <hax@andrewyu.org>2024-06-12 19:04:16 -0400
committerTest_User <hax@andrewyu.org>2024-06-12 19:04:16 -0400
commita785916b1840dca3acec39d17f454a00975282a0 (patch)
tree338109f8ab63dfa6787ccf65a9557fd39a13776d /server_network.c
parent47d7e30f6acb1c170c8e5e15f2656b89a33384f7 (diff)
downloadhaxircd-a785916b1840dca3acec39d17f454a00975282a0.tar.gz
haxircd-a785916b1840dca3acec39d17f454a00975282a0.zip
str_clone finally, as well as some other stuff
Diffstat (limited to 'server_network.c')
-rw-r--r--server_network.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/server_network.c b/server_network.c
index ea92d3c..aeca696 100644
--- a/server_network.c
+++ b/server_network.c
@@ -33,6 +33,8 @@
#include <unistd.h>
#include "config.h"
+#include "haxstring.h"
+#include "haxstring_utils.h"
#include "main.h"
#include "protocols.h"
#include "server_network.h"
@@ -187,23 +189,14 @@ int add_server(struct string from, struct string attached_to, struct string sid,
new_info->net = net;
new_info->handle = handle;
- new_info->sid.data = malloc(sid.len);
- if (!new_info->sid.data)
+ if (str_clone(&(new_info->sid), sid) != 0)
goto add_server_free_new_info;
- memcpy(new_info->sid.data, sid.data, sid.len);
- new_info->sid.len = sid.len;
- new_info->name.data = malloc(name.len);
- if (!new_info->name.data)
+ if (str_clone(&(new_info->name), name) != 0)
goto add_server_free_sid;
- memcpy(new_info->name.data, name.data, name.len);
- new_info->name.len = name.len;
- new_info->fullname.data = malloc(fullname.len);
- if (!new_info->fullname.data)
+ if (str_clone(&(new_info->fullname), fullname) != 0)
goto add_server_free_name;
- memcpy(new_info->fullname.data, fullname.data, fullname.len);
- new_info->fullname.len = fullname.len;
// new_info->next shares string with sid of the server it points to