Merge branch 'maint'
[paraslash.git] / udp_send.c
index 273b6a42e4c26e21abf4211a7e528ba5a7629a9c..3f9059bb0b03f81c50ec2ef722e255effd41b1ce 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2010 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -160,7 +160,7 @@ static int udp_init_session(struct udp_target *ut)
        if (ut->fd >= 0) /* nothing to do */
                return 0;
 
-       ret = makesock(AF_UNSPEC, IPPROTO_UDP, 0, ut->host, ut->port);
+       ret = para_connect_simple(IPPROTO_UDP, ut->host, ut->port);
        if (ret < 0)
                return ret;
        ut->fd = ret;
@@ -232,8 +232,11 @@ static int udp_com_delete(struct sender_command_data *scd)
 static int udp_send_fec(char *buf, size_t len, void *private_data)
 {
        struct udp_target *ut = private_data;
-       int ret = udp_init_session(ut);
+       int ret;
 
+       if (sender_status == SENDER_OFF)
+               return 0;
+       ret = udp_init_session(ut);
        if (ret < 0)
                goto fail;
        ret = send_queued_chunks(ut->fd, ut->cq, 0);
@@ -303,10 +306,10 @@ static char *udp_info(void)
        ret = make_message(
                "udp sender:\n"
                "\tstatus: %s\n"
-               "\tport: udp %d\n"
+               "\tport: %s\n"
                "\ttargets: %s\n",
                (sender_status == SENDER_ON)? "on" : "off",
-               conf.udp_default_port_arg,
+               stringify_port(conf.udp_default_port_arg, "udp"),
                tgts? tgts : "(none)"
        );
        free(tgts);