]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9575 fix windows build
authorSeven Du <dujinfang@gmail.com>
Fri, 30 Sep 2016 03:27:44 +0000 (11:27 +0800)
committerSeven Du <dujinfang@gmail.com>
Tue, 11 Oct 2016 00:21:29 +0000 (08:21 +0800)
random() is a posix ext not available on windows

src/switch_msrp.c

index af7bcffd93569889a2eede179515c58c1e31f5c9..d31b5bd4b8506ecf0d1ac0c52165ba80a224a8c7 100644 (file)
@@ -32,6 +32,7 @@
 #include <switch.h>
 #include <switch_ssl.h>
 #include <switch_msrp.h>
+#include <switch_stun.h>
 
 #define MSRP_BUFF_SIZE SWITCH_RTP_MAX_BUF_LEN
 #define DEBUG_MSRP 0
@@ -1118,20 +1119,15 @@ static void *SWITCH_THREAD_FUNC msrp_listener(switch_thread_t *thread, void *obj
        return NULL;
 }
 
-void random_string(char *buf, switch_size_t size)
+void random_string(char *buf, uint16_t size)
 {
-       long val[4];
-       int x;
-
-       for (x = 0; x < 4; x++)
-               val[x] = random();
-       snprintf(buf, size, "%08lx%08lx%08lx%08lx", val[0], val[1], val[2], val[3]);
-       *(buf+size) = '\0';
+       switch_stun_random_string(buf, size, NULL);
 }
 
+#define MSRP_TRANS_ID_LEN 16
 SWITCH_DECLARE(switch_status_t) switch_msrp_send(switch_msrp_session_t *ms, msrp_msg_t *msrp_msg)
 {
-       char transaction_id[32];
+       char transaction_id[MSRP_TRANS_ID_LEN + 1] = { 0 };
        char buf[MSRP_BUFF_SIZE];
        switch_size_t len;
        char *to_path = msrp_msg->headers[MSRP_H_TO_PATH] ? msrp_msg->headers[MSRP_H_TO_PATH] : ms->remote_path;
@@ -1139,7 +1135,7 @@ SWITCH_DECLARE(switch_status_t) switch_msrp_send(switch_msrp_session_t *ms, msrp
 
        if (!from_path) return SWITCH_STATUS_SUCCESS;
 
-       random_string(transaction_id, 16);
+       random_string(transaction_id, MSRP_TRANS_ID_LEN);
 
        sprintf(buf, "MSRP %s SEND\r\nTo-Path: %s\r\nFrom-Path: %s\r\n"
                "Content-Type: %s\r\n"