예제 #1
0
static void parseString2(const char*& p, Auth::CharField& f, FB_SIZE_T& loop)
{
	const FB_SIZE_T len = static_cast<FB_SIZE_T>(isc_vax_integer(p, sizeof(USHORT)));

	FB_SIZE_T len2 = len + sizeof(ISC_USHORT) + 1;
	if (len2 > loop)
	{
		throw loop;
	}
	loop -= len2;

	p += sizeof(USHORT);
	f.set(p, len);
	p += len;

	LocalStatus s;
	f.setEntered(&s, 1);
	check(&s);
}
예제 #2
0
static void parseString2(const char*& p, Auth::CharField& f, size_t& loop)
{
	const size_t len = static_cast<size_t>(isc_vax_integer(p, sizeof(USHORT)));

	size_t len2 = len + sizeof(ISC_USHORT) + 1;
	if (len2 > loop)
	{
		throw loop;
	}
	loop -= len2;

	p += sizeof(USHORT);
	f.set(p, len);
	p += len;
}