diff options
author | cbdev <cb@cbcdn.com> | 2019-12-12 20:29:03 +0100 |
---|---|---|
committer | cbdev <cb@cbcdn.com> | 2019-12-12 20:29:03 +0100 |
commit | bef4dd78ca2a610b4c669ea2c7a477283769997d (patch) | |
tree | c02ff860ea761a1f99692610197dd44d44156516 /backends/libmmbackend.c | |
parent | 763f6d6a434b6e5a9d166cb538857d0cac5fa29e (diff) | |
download | midimonster-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.c | 15 |
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){ |