Example #1
0
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;
}
Example #2
0
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;
}
Example #3
0
File: iri.c Project: BIllli/mget
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;
}