summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/vdrdiscovery.c37
1 files changed, 21 insertions, 16 deletions
diff --git a/tools/vdrdiscovery.c b/tools/vdrdiscovery.c
index c6550a4d..f4531db8 100644
--- a/tools/vdrdiscovery.c
+++ b/tools/vdrdiscovery.c
@@ -7,7 +7,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: vdrdiscovery.c,v 1.7 2008-11-04 12:13:03 phintuka Exp $
+ * $Id: vdrdiscovery.c,v 1.8 2008-11-14 22:19:45 phintuka Exp $
*
*/
@@ -102,25 +102,28 @@ int udp_discovery_broadcast(int fd_discovery, int server_port, const char *serve
char *msg = NULL;
int result;
- if(server_address && *server_address)
- asprintf(&msg,
+ if(server_address && *server_address) {
+ result = asprintf(&msg,
DISCOVERY_1_0_HDR //"VDR xineliboutput DISCOVERY 1.0" "\r\n"
DISCOVERY_1_0_SVR //"Server port: %d" "\r\n"
DISCOVERY_1_0_ADDR //"Server Address: %d.%d.%d.%d \r\n"
DISCOVERY_1_0_VERSION //"Server version: xineliboutput-" XINELIBOUTPUT_VERSION "\r\n"
"\r\n",
server_port, server_address);
- else
- asprintf(&msg,
+ } else {
+ result = asprintf(&msg,
DISCOVERY_1_0_HDR //"VDR xineliboutput DISCOVERY 1.0" "\r\n"
DISCOVERY_1_0_SVR //"Server port: %d" "\r\n"
DISCOVERY_1_0_VERSION //"Server version: xineliboutput-" XINELIBOUTPUT_VERSION "\r\n"
"\r\n",
server_port);
-
- result = udp_discovery_send(fd_discovery, DISCOVERY_PORT, msg);
+ }
+
+ if (result >= 0) {
+ result = udp_discovery_send(fd_discovery, DISCOVERY_PORT, msg);
+ free(msg);
+ }
- free(msg);
return result;
}
@@ -129,16 +132,18 @@ static inline int udp_discovery_search(int fd_discovery, int port)
char *msg = NULL;
int result;
- asprintf(&msg,
- DISCOVERY_1_0_HDR /* "VDR xineliboutput DISCOVERY 1.0" "\r\n" */
- DISCOVERY_1_0_CLI /* "Client: %s:%d" "\r\n" */
- "\r\n",
- "255.255.255.255",
- port);
+ result = asprintf(&msg,
+ DISCOVERY_1_0_HDR /* "VDR xineliboutput DISCOVERY 1.0" "\r\n" */
+ DISCOVERY_1_0_CLI /* "Client: %s:%d" "\r\n" */
+ "\r\n",
+ "255.255.255.255",
+ port);
- result = udp_discovery_send(fd_discovery, port, msg);
+ if (result >= 0) {
+ result = udp_discovery_send(fd_discovery, port, msg);
+ free(msg);
+ }
- free(msg);
return result;
}