On 3/25/2013 8:37 PM, guy@xxxxxxxxxxxxx wrote:
http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=48555
User: guy
Date: 2013/03/25 05:37 PM
Guy;
I'm curious why you added the following test in the recent
value_string.c patch
if (first_value > vs_p[i].value) {
g_warning("Extended value string %s forced to fall back to
linear search: entry %u, value %u < first entry, value %u",
vse->_vs_name, i, vs_p[i].value, first_value);
type = VS_SEARCH;
break;
}
Do you feel that the "special case" described in the comments (see
extract below) should be dis-allowed (maybe because it's a bit of a hack) ?
If so, ISTR there are some value string arrays which will need to be
re-ordered.
Bill
/* Note: The value_string 'value' is *unsigned*.
*
* Special case:
* { -3, -2, -1, 0, 1, 2 } will be treated as "ascending ordered"
(altho not really such)
* thus allowing as a 'direct' search.
*
* Note:
* { -3, -2, 0, 1, 2 } and { -3, -2, -1, 0, 2 } will both be
considered as "out-of-order with gaps"
* thus requiring a 'linear' search.
* { 0, 1, 2, -3, -2 } and { 0, 2, -3, -2, -1 } will be considered
"ascending ordered with gaps"
* thus allowing a 'binary' search.
*/