Пример #1
0
BOOL LLParcel::importMediaURLFilter(std::istream& input_stream, std::string& url)
{
	skip_to_end_of_next_keyword("{", input_stream);

	while(input_stream.good())
	{
		skip_comments_and_emptyspace(input_stream);
		std::string line, keyword, value;
		get_line(line, input_stream, MAX_STRING);
		get_keyword_and_value(keyword, value, line);

		if ("}" == keyword)
		{
			break;
		}
		else if ("url" == keyword)
		{
			url = value;
		}
		else
		{
			llwarns << "Unknown keyword in parcel media url filter section: <"
					<< keyword << ">" << llendl;
		}
	}
	return input_stream.good();
}
Пример #2
0
BOOL LLParcel::importAccessEntry(std::istream& input_stream, LLAccessEntry* entry)
{
    skip_to_end_of_next_keyword("{", input_stream);
    while (input_stream.good())
    {
        skip_comments_and_emptyspace(input_stream);
        std::string line, keyword, value;
        get_line(line, input_stream, MAX_STRING);
        get_keyword_and_value(keyword, value, line);
        
        if ("}" == keyword)
        {
            break;
        }
        else if ("id" == keyword)
        {
            entry->mID.set( value );
        }
        else if ("name" == keyword)
        {
            // deprecated
        }
        else if ("time" == keyword)
        {
            S32 when = -1;
            LLStringUtil::convertToS32(value, when);
            entry->mTime = when;
        }
        else if ("flags" == keyword)
        {
            U32 setting = 0xFFFFFFFF;
            LLStringUtil::convertToU32(value, setting);
            entry->mFlags = setting;
        }
        else
        {
            LL_WARNS() << "Unknown keyword in parcel access entry section: <" 
            << keyword << ">" << LL_ENDL;
        }
    }
    return input_stream.good();
}
	void streamtools_object::test<3>()
	{
		char arr[255];
		std::string str;
		std::string expected_result;
		std::string actual_result;
		std::istringstream is;
		bool ret;

		is.clear();
		is.str(str = "  \t\r\n    \r    SecondLife is a 3D World.\n");
		skip_comments_and_emptyspace(is);
		is.get(arr, 255, '\0');
		expected_result = "SecondLife is a 3D World.\n";
		ensure_equals("skip_comments_and_emptyspace: space, tabs, carriage return, newline", arr, expected_result);

		is.clear();
		is.str(str = "#    \r\n    SecondLife is a 3D World.");
		skip_comments_and_emptyspace(is);
		is.get(arr, 255, '\0');
		expected_result = "SecondLife is a 3D World.";
		ensure_equals("skip_comments_and_emptyspace: skip comment - 1", arr, expected_result);

		is.clear();
		is.str(str = "#    \r\n  #  SecondLife is a 3D World. ##");
		skip_comments_and_emptyspace(is);
		is.get(arr, 255, '\0');
		expected_result = "";
		ensure_equals("skip_comments_and_emptyspace: skip comment - 2", arr, expected_result);

		is.clear();
		is.str(str = " \r\n  SecondLife is a 3D World. ##");
		skip_comments_and_emptyspace(is);
		is.get(arr, 255, '\0');
		expected_result = "SecondLife is a 3D World. ##";
		ensure_equals("skip_comments_and_emptyspace: skip comment - 3", arr, expected_result);

		is.clear();
		is.str(str = "");
		ret = skip_comments_and_emptyspace(is);
		is.get(arr, 255, '\0');
		ensure("skip_comments_and_emptyspace: empty string", ret == false);

		is.clear();
		is.str(str = "  \r\n  \t # SecondLife is a 3D World");
		ret = skip_comments_and_emptyspace(is);
		is.get(arr, 255, '\0');
		ensure("skip_comments_and_emptyspace: space newline comment empty", ret == false);
	}