+done:
+ if(port) {
+ if(strchr(hostname, ':'))
+ xasprintf(&hostport, "[%s]:%s", hostname, port);
+ else
+ xasprintf(&hostport, "%s:%s", hostname, port);
+ } else {
+ hostport = hostname;
+ hostname = NULL;
+ }
+
+ free(hostname);
+ free(port);
+ free(filename);
+ return hostport;