Beispiel #1
0
	void fillDeviceList(const char* dev, DeviceList& device_list) override
	{
		const char* token = nullptr;

		int device_index = 0;
		const char* end = dev + stringLength(dev);

		while (end > dev)
		{
			token = reverseFind(dev, token, ':');
			char device[32];
			if (token)
			{
				copyNString(device, (int)sizeof(device), token + 1, int(end - token - 1));
			}
			else
			{
				copyNString(device, (int)sizeof(device), dev, int(end - dev));
			}
			end = token;
			device_list.m_devices[device_index] = getDevice(device);
			ASSERT(device_list.m_devices[device_index]);
			++device_index;
		}
		device_list.m_devices[device_index] = nullptr;
	}
bool catNString(char* destination,
				int length,
				const char* source,
				int source_len)
{
	while (*destination && length)
	{
		--length;
		++destination;
	}
	return copyNString(destination, length, source, source_len);
}
void JsonSerializer::deserializeLabel(char* label, int max_length)
{
	if (!m_is_first_in_block)
	{
		expectToken(',');
		deserializeToken();
	}
	else
	{
		m_is_first_in_block = false;
	}
	if (!m_is_string_token)
	{
		ErrorProxy(*this).log() << "Unexpected token \""
								<< string(m_token, m_token_size, m_allocator)
								<< "\", expected string.";
		deserializeToken();
	}
	copyNString(label, max_length, m_token, m_token_size);
	deserializeToken();
	expectToken(':');
	deserializeToken();
}