diff options
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){ |