aboutsummaryrefslogtreecommitdiffhomepage
path: root/backends/libmmbackend.c
diff options
context:
space:
mode:
authorcbdev <cb@cbcdn.com>2019-12-12 20:29:03 +0100
committercbdev <cb@cbcdn.com>2019-12-12 20:29:03 +0100
commitbef4dd78ca2a610b4c669ea2c7a477283769997d (patch)
treec02ff860ea761a1f99692610197dd44d44156516 /backends/libmmbackend.c
parent763f6d6a434b6e5a9d166cb538857d0cac5fa29e (diff)
downloadmidimonster-bef4dd78ca2a610b4c669ea2c7a477283769997d.tar.gz
midimonster-bef4dd78ca2a610b4c669ea2c7a477283769997d.tar.bz2
midimonster-bef4dd78ca2a610b4c669ea2c7a477283769997d.zip
Extend hostspec parsing and implement local mode for sACN (#39)
Diffstat (limited to 'backends/libmmbackend.c')
-rw-r--r--backends/libmmbackend.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/backends/libmmbackend.c b/backends/libmmbackend.c
index ccbeb52..7dbb4ae 100644
--- a/backends/libmmbackend.c
+++ b/backends/libmmbackend.c
@@ -1,6 +1,6 @@
#include "libmmbackend.h"
-void mmbackend_parse_hostspec(char* spec, char** host, char** port){
+void mmbackend_parse_hostspec(char* spec, char** host, char** port, char** options){
size_t u = 0;
if(!spec || !host || !port){
@@ -29,6 +29,19 @@ void mmbackend_parse_hostspec(char* spec, char** host, char** port){
spec[u] = 0;
*port = spec + u + 1;
}
+
+ if(options){
+ *options = NULL;
+ if(*port){
+ //scan for space after port
+ for(u = 0; (*port)[u] && !isspace((*port)[u]); u++){
+ }
+ if(isspace((*port)[u])){
+ (*port)[u] = 0;
+ *options = (*port) + u + 1;
+ }
+ }
+ }
}
int mmbackend_parse_sockaddr(char* host, char* port, struct sockaddr_storage* addr, socklen_t* len){