コード例 #1
0
ファイル: internals.c プロジェクト: Alien777/cdnp2psim
TParameters *createParameters(const char *str, const char *sep){

	TParameters *p = (TParameters *)malloc(sizeof(TParameters));

	TDataParameters *data = (TDataParameters *)malloc(sizeof(struct _data_parameters));

	p->data = data;

	int len= strlen(sep)+1;
	data->sep = (char *)malloc(len);

	len = strlen(str)+1;
	data->str = (char *)malloc(len);

	data->eachOne = NULL;
	data->size=0;

	strcpy(data->sep,sep);
	strcpy(data->str,str);


	p->dispose = destroyParameters;
	p->next = nextParameters;
	p->iterator = iteratorParameters;

	splitParameters(p);

	return p;
}
コード例 #2
0
ファイル: lyxHTTPRequest.cpp プロジェクト: liyustar/liblyx
void HTTPRequest::getCookies(NameValueCollection& cookies) const {
    NameValueCollection::ConstIterator it = find(COOKIE);
    while (it != end() && it->first == COOKIE) {
        splitParameters(it->second.begin(), it->second.end(), cookies);
        ++it;
    }
}
コード例 #3
0
ファイル: MessageHeader.cpp プロジェクト: Kirozen/winmerge-v2
void MessageHeader::splitParameters(const std::string& s, std::string& value, NameValueCollection& parameters)
{
	value.clear();
	parameters.clear();
	std::string::const_iterator it  = s.begin();
	std::string::const_iterator end = s.end();
	while (it != end && Poco::Ascii::isSpace(*it)) ++it;
	while (it != end && *it != ';') value += *it++;
	Poco::trimRightInPlace(value);
	if (it != end) ++it;
	splitParameters(it, end, parameters);
}
コード例 #4
0
ファイル: HTTPResponse.cpp プロジェクト: 119/vdc
void HTTPResponse::getCookies(std::vector<HTTPCookie>& cookies) const
{
	cookies.clear();
	NameValueCollection::ConstIterator it = find(SET_COOKIE);
	while (it != end() && Poco::icompare(it->first, SET_COOKIE) == 0)
	{
		NameValueCollection nvc;
		splitParameters(it->second.begin(), it->second.end(), nvc);
		cookies.push_back(HTTPCookie(nvc));
		++it;
	}
}