Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] master 14824e6: Revert "Fixup: tvb_* ->
From: Jeff Morriss <[email protected]>
Date: Fri, 20 Jun 2014 10:33:53 -0400
On 06/20/14 03:46, Dario Lombardo wrote:
On Thu, Jun 19, 2014 at 9:18 PM, Evan Huus <[email protected]> wrote:
We were not bulk-converting them so that we could catch the ones that really
should have been tvb_reported_length and tvb_reported_length_remaining from
the beginning.
If you look at the code in epan/tvbuff.h:228,237,244 you can find those defines

#define tvb_length tvb_captured_length
#define tvb_length_remaining tvb_captured_length_remaining
#define tvb_ensure_length_remaining tvb_ensure_captured_length_remaining

This means that tvb_length doesn't go to the compiler, since it's
changed to tvb_captured_length by the preprocessor. What about a
change that replaces only these? This should be safe.
It's not a question of what gets to the compiler, it's a question of 
going through each one to make sure the dissector is using the one they 
really meant to use.
IOW the reason these functions were renamed was because a large portion 
of the time dissector-writers would use tvb_length() when they really 
should have been using tvb_reported_length().  By renaming the functions 
and adding a macro--which is listed as deprecated by checkAPIs--for 
backwards compatibility we can know which calls have yet to be 
audited/checked for correctness.  That is, the whole point is to *not* 
systematically replace tvb_length() but rather check each call and 
replace it with the correct one.