Port: Add Solaris paths compat
[lttng-tools.git] / src / common / uri.c
index e54eb387d14fefb0f1923cd1f01b4287fc8255ae..dd2d9e4eea4bd0379eac739d9589b7b55727a91b 100644 (file)
@@ -15,7 +15,7 @@
  * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#define _GNU_SOURCE
+#define _LGPL_SOURCE
 #include <assert.h>
 #include <arpa/inet.h>
 #include <netdb.h>
@@ -45,8 +45,10 @@ struct uri_proto {
 static const struct uri_proto proto_uri[] = {
        { .name = "file", .leading_string = "file://", .code = P_FILE, .type = 0, .dtype = LTTNG_DST_PATH },
        { .name = "net", .leading_string = "net://", .code = P_NET, .type = LTTNG_TCP, .dtype = LTTNG_DST_IPV4 },
+       { .name = "net4", .leading_string = "net4://", .code = P_NET, .type = LTTNG_TCP, .dtype = LTTNG_DST_IPV4 },
        { .name = "net6", .leading_string = "net6://", .code = P_NET6, .type = LTTNG_TCP, .dtype = LTTNG_DST_IPV6 },
        { .name = "tcp", .leading_string = "tcp://", .code = P_TCP, .type = LTTNG_TCP, .dtype = LTTNG_DST_IPV4 },
+       { .name = "tcp4", .leading_string = "tcp4://", .code = P_TCP, .type = LTTNG_TCP, .dtype = LTTNG_DST_IPV4 },
        { .name = "tcp6", .leading_string = "tcp6://", .code = P_TCP6, .type = LTTNG_TCP, .dtype = LTTNG_DST_IPV6 },
        /* Invalid proto marking the end of the array. */
        { NULL, NULL, 0, 0, 0 }
@@ -186,7 +188,7 @@ int uri_to_str_url(struct lttng_uri *uri, char *dst, size_t size)
 {
        int ipver, ret;
        const char *addr;
-       char proto[4], port[7];
+       char proto[5], port[7];
 
        assert(uri);
        assert(dst);
@@ -194,13 +196,13 @@ int uri_to_str_url(struct lttng_uri *uri, char *dst, size_t size)
        if (uri->dtype == LTTNG_DST_PATH) {
                ipver = 0;
                addr = uri->dst.path;
-               (void) snprintf(proto, sizeof(proto) + 1, "file");
-               (void) snprintf(port, sizeof(port) + 1, "%s", "");
+               (void) snprintf(proto, sizeof(proto), "file");
+               (void) snprintf(port, sizeof(port), "%s", "");
        } else {
                ipver = (uri->dtype == LTTNG_DST_IPV4) ? 4 : 6;
                addr = (ipver == 4) ?  uri->dst.ipv4 : uri->dst.ipv6;
-               (void) snprintf(proto, sizeof(proto) + 1, "net%d", ipver);
-               (void) snprintf(port, sizeof(port) + 1, ":%d", uri->port);
+               (void) snprintf(proto, sizeof(proto), "tcp%d", ipver);
+               (void) snprintf(port, sizeof(port), ":%d", uri->port);
        }
 
        ret = snprintf(dst, size, "%s://%s%s%s%s/%s", proto,
This page took 0.024347 seconds and 4 git commands to generate.