Beispiel #1
0
bool rfc2047::decode(const char* in, int n, acl::string* out,
	const char* to_charset /* = "gb2312" */,
	bool strip_sp /* = false */, bool addInvalid /* = true */)
{
	rfc2047 rfc(strip_sp, false);
	rfc.decode_update(in, n);
	return rfc.decode_finish(to_charset, out, addInvalid);
}
Beispiel #2
0
bool rfc2047::encode(const char* in, int n, acl::string* out,
	const char* charset /* = "gb2312" */, char coding /* = 'B' */,
	bool addCrlf /* = true */)
{
	rfc2047 rfc(false, addCrlf);
	if (rfc.encode_update(in, n, out, charset, coding) == false)
		return false;
	return rfc.encode_finish(out);
}
Beispiel #3
0
std::set<std::string> presets_items_internal::roles(const relation_t *relation, const object_t &obj) const
{
  // collect existing roles first
  role_collect_functor::RoleCountMap existingRoles;
  const std::vector<member_t>::const_iterator mitEnd = relation->members.end();
  std::vector<member_t>::const_iterator mit = relation->members.begin();
  while((mit = std::find_if(mit, mitEnd, member_t::has_role)) != mitEnd) {
    existingRoles[mit->role]++;
    mit++;
  }

  std::set<std::string> ret;
  const presets_item *item = nullptr;
  relation_preset_functor fc(relation, &item);
  const std::vector<presets_item_t *>::const_iterator itEnd = items.end();
  role_collect_functor rfc(ret, existingRoles, presets_type_mask(obj));

  if(std::find_if(items.begin(), itEnd, fc) != itEnd)
    std::for_each(item->roles.begin(), item->roles.end(), rfc);

  return ret;
}
Beispiel #4
0
int main()
{
    if( fv(rfc()) == fv(rfi()) ) fail(__LINE__);
    _PASS;
}