const char *mget_iri_get_escaped_file(const MGET_IRI *iri, mget_buffer_t *buf) { if (iri->path) { char *fname; if ((fname = strrchr(iri->path, '/'))) mget_iri_escape_path(fname + 1, buf); else mget_iri_escape_path(iri->path, buf); } if ((buf->length == 0 || buf->data[buf->length - 1] == '/') && default_page) mget_buffer_memcat(buf, default_page, default_page_length); if (iri->query) { mget_buffer_memcat(buf, "?", 1); mget_iri_escape_query(iri->query, buf); } // if (iri->fragment) { // buffer_memcat(buf, "#", 1); // iri_escape(iri->fragment, buf); // } return buf->data; }
const char *mget_iri_get_escaped_query(const MGET_IRI *iri, mget_buffer_t *buf) { if (iri->query) { mget_buffer_memcat(buf, "?", 1); return mget_iri_escape_query(iri->query, buf); } return buf->data; }
const char *mget_iri_get_escaped_resource(const mget_iri_t *iri, mget_buffer_t *buf) { if (iri->path) mget_iri_escape_path(iri->path, buf); if (iri->query) { mget_buffer_memcat(buf, "?", 1); mget_iri_escape_query(iri->query, buf); } if (iri->fragment) { mget_buffer_memcat(buf, "#", 1); mget_iri_escape(iri->fragment, buf); } return buf->data; }