Bob Doolittle wrote:

> Looking at packet.c, it appears that the type of the HF name
> I'm passing as the first arg doesn't map to an acceptable type,
> but in fact I've declared that field with type FT_UINT8,
> which should be fine.  Another possibility is that the
> fields haven't been registered yet so aren't recognized (it
> would be nice if this were a separate, distinguishable
> assertion error :(), but I only call the proto_register_*
> routine for the sub-layer after the proto_register_*
> for the higher layer has returned successfully, so I'd expect
> the fields to be registered at that point.

Another possibility is that the first argument to dissector_add() is the 
name of a dissector table, not the name of a field, even though 
dissector tables are often - but *NOT* always! - given the same name as 
a field whose value is used as the key for looking up entries in that 
dissector table.

That's the correct possibility.  Dissector tables are not automatically 
created for fields; you need to create the dissector table explicitly 
with a call to register_dissector_table().
_______________________________________________
Wireshark-dev mailing list
[email protected]
http://www.wireshark.org/mailman/listinfo/wireshark-dev

Reply via email to