Exemple #1
0
char *
AMF_EncodeString ( char *output, char *outend, const AVal *bv )
{
	if ( ( bv->av_len < 65536 && output + 1 + 2 + bv->av_len > outend ) ||
			output + 1 + 4 + bv->av_len > outend )
	{
		return NULL;
	}

	if ( bv->av_len < 65536 )
	{
		*output++ = AMF_STRING;

		output = AMF_EncodeInt16 ( output, outend, bv->av_len );
	}
	else
	{
		*output++ = AMF_LONG_STRING;

		output = AMF_EncodeInt32 ( output, outend, bv->av_len );
	}

	memcpy ( output, bv->av_val, bv->av_len );
	output += bv->av_len;

	return output;
}
Exemple #2
0
char * amf::AMF_EncodeNamedBoolean(char *output, char *outend, const AVal * strName, bool bVal)
{
	if (output+2+strName->av_len > outend)
		return NULL;
	output = AMF_EncodeInt16(output, outend, strName->av_len);

	memcpy(output, strName->av_val, strName->av_len);
	output += strName->av_len;

	return AMF_EncodeBoolean(output, outend, bVal);
}
Exemple #3
0
char * amf::AMF_EncodeNamedNumber(char *output, char *outend, const AVal * strName, double dVal)
{
	if (output+2+strName->av_len > outend)
		return NULL;
	output = AMF_EncodeInt16(output, outend, strName->av_len);

	memcpy(output, strName->av_val, strName->av_len);
	output += strName->av_len;

	return AMF_EncodeNumber(output, outend, dVal);
}
Exemple #4
0
char * amf::AMF_EncodeNamedString(char *output, char *outend, const AVal * strName, const AVal * strValue)
{
	if (output+2+strName->av_len > outend)
		return NULL;
	output = AMF_EncodeInt16(output, outend, strName->av_len);

	memcpy(output, strName->av_val, strName->av_len);
	output += strName->av_len;

	return AMF_EncodeString(output, outend, strValue);
}
Exemple #5
0
char * amf::AMF_EncodeString(char *output, char *outend, const AVal * bv)
{
	if (output + 1 + 2 + bv->av_len > outend)
		return NULL;

	*output++ = AMF_STRING;

	output = AMF_EncodeInt16(output, outend, bv->av_len);

	memcpy(output, bv->av_val, bv->av_len);
	output += bv->av_len;

	return output;
}
Exemple #6
0
uint8_t inline *amf_write_i16(uint8_t *s, uint8_t *e, int i)
{
    return (uint8_t*)AMF_EncodeInt16((char*)s, (char*)e, i);
}