* it is called from various rsvp objects;
* returns the amount of bytes being processed
*/
-static int
+static u_int
rsvp_intserv_print(netdissect_options *ndo,
const u_char *tptr, u_short obj_tlen)
{
- int parameter_id,parameter_length;
+ u_int parameter_id,parameter_length;
union {
float f;
uint32_t i;
if (obj_tlen < 4)
return 0;
- parameter_id = *(tptr);
+ ND_TCHECK_1(tptr);
+ parameter_id = EXTRACT_U_1(tptr);
ND_TCHECK_2(tptr + 2);
parameter_length = EXTRACT_BE_U_2(tptr + 2)<<2; /* convert wordcount to bytecount */
tok2str(rsvp_intserv_parameter_id_values,"unknown",parameter_id),
parameter_id,
parameter_length,
- *(tptr + 1)));
+ EXTRACT_U_1(tptr + 1)));
if (obj_tlen < parameter_length+4)
return 0;
*/
if (parameter_length == 20) {
- ND_TCHECK2(*(tptr + 4), 20);
+ ND_TCHECK_LEN(tptr + 4, 20);
bw.i = EXTRACT_BE_U_4(tptr + 4);
ND_PRINT((ndo, "\n\t\tToken Bucket Rate: %.10g Mbps", bw.f / 125000));
bw.i = EXTRACT_BE_U_4(tptr + 8);
const struct rsvp_obj_frr_t *rsvp_obj_frr;
} obj_ptr;
- u_short rsvp_obj_len,rsvp_obj_ctype,obj_tlen,intserv_serv_tlen;
+ u_short rsvp_obj_len,rsvp_obj_ctype,obj_tlen;
+ u_int intserv_serv_tlen;
int hexdump,processed,padbytes,error_code,error_value,i,sigcheck;
union {
float f;
while(tlen>=sizeof(struct rsvp_object_header)) {
/* did we capture enough for fully decoding the object header ? */
- ND_TCHECK2(*tptr, sizeof(struct rsvp_object_header));
+ ND_TCHECK_LEN(tptr, sizeof(struct rsvp_object_header));
rsvp_obj_header = (const struct rsvp_object_header *)tptr;
rsvp_obj_len=EXTRACT_BE_U_2(rsvp_obj_header->length);
obj_tlen=rsvp_obj_len-sizeof(struct rsvp_object_header);
/* did we capture enough for fully decoding the object ? */
- if (!ND_TTEST2(*tptr, rsvp_obj_len))
+ if (!ND_TTEST_LEN(tptr, rsvp_obj_len))
return -1;
hexdump=FALSE;
while (obj_tlen >= 4) {
intserv_serv_tlen=EXTRACT_BE_U_2(obj_tptr + 2)<<2;
- ND_PRINT((ndo, "%s Service Type: %s (%u), break bit %s set, Service length: %u",
+ ND_PRINT((ndo, "%s Service Type: %s (%u), break bit %sset, Service length: %u",
indent,
tok2str(rsvp_intserv_service_type_values,"unknown",EXTRACT_U_1((obj_tptr))),
EXTRACT_U_1(obj_tptr),
- (EXTRACT_U_1(obj_tptr + 1)&0x80) ? "" : "not",
+ (EXTRACT_U_1(obj_tptr + 1)&0x80) ? "" : "not ",
intserv_serv_tlen));
obj_tptr+=4; /* get to the start of the parameter list */
void
rsvp_print(netdissect_options *ndo,
- register const u_char *pptr, register u_int len)
+ const u_char *pptr, u_int len)
{
const struct rsvp_common_header *rsvp_com_header;
const u_char *tptr;