]> git.ozlabs.org Git - petitboot/blobdiff - lib/url/url.c
lib/url: Add pb_url_to_string
[petitboot] / lib / url / url.c
index 1e69774efb4e2a230d8cf24ca0dcd1973b699dcf..42bd4a1afb0e3e5bae5c8db61e2d316d06234c92 100644 (file)
@@ -242,18 +242,21 @@ static bool is_url(const char *str)
        return strstr(str, "://") != NULL;
 }
 
-static void pb_url_update_full(struct pb_url *url)
+char *pb_url_to_string(struct pb_url *url)
 {
        const struct pb_scheme_info *scheme = pb_url_scheme_info(url->scheme);
-
        assert(scheme);
 
-       talloc_free(url->full);
-
-       url->full = talloc_asprintf(url, "%s://%s%s", scheme->str,
+       return talloc_asprintf(url, "%s://%s%s", scheme->str,
                        scheme->has_host ? url->host : "", url->path);
 }
 
+static void pb_url_update_full(struct pb_url *url)
+{
+       talloc_free(url->full);
+       url->full = pb_url_to_string(url);
+}
+
 static struct pb_url *pb_url_copy(void *ctx, const struct pb_url *url)
 {
        struct pb_url *new_url;