void
urlcopy ( url_t *dst, const url_t *src )
{
- dst->scheme = strdup(src->scheme);
- dst->user = strdup(src->user);
- dst->pass = strdup(src->pass);
- dst->host = strdup(src->host);
+ dst->scheme = src->scheme ? strdup(src->scheme) : NULL;
+ dst->user = src->user ? strdup(src->user) : NULL;
+ dst->pass = src->pass ? strdup(src->pass) : NULL;
+ dst->host = src->host ? strdup(src->host) : NULL;
dst->port = src->port;
- dst->path = strdup(src->path);
- dst->query = strdup(src->query);
- dst->frag = strdup(src->frag);
- dst->raw = strdup(src->raw);
+ dst->path = src->path ? strdup(src->path) : NULL;
+ dst->query = src->query ? strdup(src->query) : NULL;
+ dst->frag = src->frag ? strdup(src->frag) : NULL;
+ dst->raw = src->raw ? strdup(src->raw) : NULL;
}
/* Use liburiparser if available */