Jakub Zawadzki
0de43ce2dd
Create sign extension routines in <wsutil/sign_ext.h>, use it in few places.
...
svn path=/trunk/; revision=54197
2013-12-17 21:36:33 +00:00
Michael Mann
79d336c664
Handle signed integers > 32 bits. Bug 8454 ( https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8454 )
...
svn path=/trunk/; revision=54183
2013-12-17 16:50:33 +00:00
Pascal Quantin
a944c8ef7a
Remove proto_tree_add_unicode_string()
...
svn path=/trunk/; revision=53869
2013-12-08 20:15:07 +00:00
Jakub Zawadzki
7ab18667e5
Drop proto_tree_add_unicode_string() from IP, IPv6, JSON dissectors.
...
Set .display to STR_UNICODE (instead of STR_ASCII).
svn path=/trunk/; revision=53827
2013-12-07 15:48:35 +00:00
Jakub Zawadzki
ffb4e79de9
Add STR_ASCII, STR_UNICODE as possible displays for field_display_e
...
svn path=/trunk/; revision=53822
2013-12-07 11:50:43 +00:00
Jakub Zawadzki
c67d38cf15
Rename base_display_* to field_display
...
This is preparation to support ->display for FT_STRING values.
svn path=/trunk/; revision=53820
2013-12-07 10:41:42 +00:00
Guy Harris
0cc1545d05
Move most of the plugin code from epan to wsutil and remove all
...
knowledge of particular types of plugins. Instead, let particular types
of plugins register with the common plugin code, giving a name and a
routine to recognize that type of plugin.
In particular applications, only process the relevant plugin types.
Add a Makefile.common to the codecs directory.
svn path=/trunk/; revision=53710
2013-12-02 08:30:29 +00:00
Evan Huus
df1aec4a6b
Remove old (2009) and no-longer-necessary compatibility macro.
...
svn path=/trunk/; revision=53527
2013-11-23 22:03:48 +00:00
Gerald Combs
b3a24c5cc4
Replace similar code with a common routine.
...
svn path=/trunk/; revision=53519
2013-11-23 01:06:30 +00:00
Jakub Zawadzki
c0c26f8e2a
64-bits: reorder fields in struct _protocol to remove padding.
...
This patch decrease size of _protocol structure from 64B to 56B
svn path=/trunk/; revision=53328
2013-11-14 22:50:55 +00:00
Jakub Zawadzki
6f6d04e2f9
Move REPORT_DISSECTOR_BUG() body to proto_report_dissector_bug() function. Remove exceptions.h include from proto.h
...
svn path=/trunk/; revision=53231
2013-11-10 16:04:15 +00:00
Jakub Zawadzki
12d1509aa1
Move struct _ftype_t + callback typedefs + free macro to ftypes-int.h
...
svn path=/trunk/; revision=53223
2013-11-10 13:14:09 +00:00
Jakub Zawadzki
0b0bbf0965
Replace STRINGIFY with glib version.
...
svn path=/trunk/; revision=53193
2013-11-09 14:37:13 +00:00
Jakub Zawadzki
9aac55472c
Put "private" to_str.c functions to to_str-int.h
...
svn path=/trunk/; revision=53187
2013-11-09 11:26:41 +00:00
Jakub Zawadzki
9297c9e780
Rename swar_count_bits() to ws_count_ones()
...
Try to make ws_count_ones() inline function.
svn path=/trunk/; revision=53178
2013-11-09 04:47:08 +00:00
Jakub Zawadzki
e6944e68b9
Try to split ws_ctz() from hfinfo_bitshift().
...
svn path=/trunk/; revision=53176
2013-11-08 22:01:12 +00:00
Jakub Zawadzki
ce6ca9a05d
Add infrastructure for section-initializing protocol hfis (without array).
...
configure implementation later.
svn path=/trunk/; revision=53146
2013-11-07 20:14:18 +00:00
Evan Huus
8a0ef07000
Effectively remove the tree memory pool and port some of its behaviour to the
...
pinfo memory pool, they have exactly the same scope. Simplification and minor
performance win (one GHashTable we longer have to create/destroy on every
packet).
svn path=/trunk/; revision=53076
2013-11-04 14:12:59 +00:00
Anders Broman
39515def5f
Increase PROTO_PRE_ALLOC_HF_FIELDS_MEM
...
svn path=/trunk/; revision=53009
2013-10-31 21:26:27 +00:00
Anders Broman
1e6927dbb3
Fix proto.c:4498: warning: 'compare_filter_name' defined but not used
...
svn path=/trunk/; revision=52975
2013-10-29 23:18:26 +00:00
Anders Broman
c864a20398
Optimize proto_get_id_by_filter_name() by using the existing hastable for proto_filter_names.
...
svn path=/trunk/; revision=52972
2013-10-29 22:17:18 +00:00
Jeff Morriss
de0fda9436
Revert r52905 and r52908: they're causing plenty of fuzz failures.
...
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9323 is tracking the fix.
svn path=/trunk/; revision=52966
2013-10-29 21:18:22 +00:00
Jeff Morriss
9259176f87
As pointed by Evan: don't leak memory when the string pointer is NULL.
...
svn path=/trunk/; revision=52908
2013-10-27 22:40:55 +00:00
Jeff Morriss
8e2f00bf3d
Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9323 :
...
Actually handle non-NULL-terminated FT_STRINGs properly.
svn path=/trunk/; revision=52905
2013-10-27 21:56:58 +00:00
Evan Huus
5b9ec08eae
Optimization: in test_length there's no need to validate that the count value
...
for FT_UINT_STRINGs and FT_UINT_BYTEs is still in the TVB. Any infinite loop
that adds a counted field ought to be extracting the length for its own offset
anyways, in which case it will overflow on the next iteration and won't actually
loop forever.
svn path=/trunk/; revision=52766
2013-10-22 16:02:13 +00:00
Jakub Zawadzki
bad81b517f
Reintroduce back epan_dissect_reset(), proto_tree_reset()
...
This time it makes more sense, cause for each dissection we need two wmem allocators.
Reseting wmem allocator is much faster than destroy & create.
svn path=/trunk/; revision=52706
2013-10-20 10:21:25 +00:00
Jakub Zawadzki
336befd903
Remove allocation stem from PROTO_NODE_NEW() macro.
...
Tree root-node will be allocated using g_slice()
svn path=/trunk/; revision=52704
2013-10-20 10:03:32 +00:00
Evan Huus
cbe8af0a8b
Revert the optimization in r52578. As Jakub predicted, it caused at least one
...
infinite loop to pop up. We're just going to have to eat the performance hit.
(https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9282 )
svn path=/trunk/; revision=52660
2013-10-17 12:24:25 +00:00
Evan Huus
efdbb598b8
So a while back Jeff added some code to check that the offset+length passed to
...
proto_tree_add_item was valid *before* we short-circuited based on a NULL tree.
This was good in that it removed a common source of really-long-loop bugs. It
was less good in that it cost us about 8% in speed when doing a tree-less
dissection, but we decided the tradeoff was worth it.
After Anders' recent mail to -dev about performance, I started thinking about
how to optimize this. It occurred to me that the vast majority of the logic
involved in the check was dealing with the length value - fetching the actual
length if it was a counted string, calculating the length if it was -1, adding
the length to the offset in a way that was free from overflows, etc.
All of this is (theoretically) unnecessary - simply checking the offset without
worrying about the length will still catch the very-long-loops, since it is the
offset that increases in each iteration, not the length.
All that to justify:
- implement tvb_ensure_offset_exists which throws an exception if the offset is
not within the tvb
- use it instead of all the complicated other logic in the pre-short-circuit
step of proto_tree_add_item and friends
This gives us back about 3/4 of the performance we lost in the original patch.
We're still ~2% slower than without any check, but this is the best I can think
of right now.
svn path=/trunk/; revision=52578
2013-10-13 04:54:14 +00:00
Evan Huus
c2b2d204db
Redo r52569 in a way that doesn't break the GUI. Add a mem_pool member to
...
tree_data and reference it directly when allocating/freeing tree items. This
lets us keep multiple around when we need them, and still lets us use
wmem_free_all for a major speedup. It also, coincidentally, lets us get rid of
the annoying fi_tmp hack that was needed before, since that element gets swept
up in the free_all with everything else.
Keep one pool cached to avoid creating/destroying a pool for each packet,
another minor performance win.
The various changes in approach seem to balance out pretty much exactly, this
still gives ~11% over pre-52569.
svn path=/trunk/; revision=52573
2013-10-12 21:01:17 +00:00
Evan Huus
2e1497b532
Revert r52569, it breaks the GUI since that sometimes has multiple trees active
...
at once.
svn path=/trunk/; revision=52572
2013-10-12 18:14:19 +00:00
Evan Huus
540e9c745d
Use wmem_free_all on the tree pool rather than freeing each node, label and
...
field_info separately. We still have to walk the tree in order to free certain
fvalues, but that's not a big deal. Another ~11% speed-up running "tshark -nVr"
on a large capture.
svn path=/trunk/; revision=52569
2013-10-12 17:57:51 +00:00
Evan Huus
d19a20746b
Use a wmem block allocator to allocate field_infos, proto_nodes and item_labels.
...
Even without making use of free_all (which should be possible) this still
results in ~8% speedup running "tshark -nVr" on a large file in my tests.
svn path=/trunk/; revision=52568
2013-10-12 17:32:41 +00:00
Michael Mann
9ccefb0ecd
Prefix all "Wireshark application specific" display filters with a "_ws." to distinguish them from dissector filters.
...
This was committed now to get it into the 1.11 release so users can start getting used to the changed filter names.
svn path=/trunk/; revision=52462
2013-10-09 12:56:19 +00:00
Michael Mann
ee208c8dcc
Add support for RELATIVE-OID ASN.1 type. Bug 9192 ( https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9192 )
...
From Ed Beroset.
svn path=/trunk/; revision=52393
2013-10-06 02:31:10 +00:00
Michael Mann
a891f3e70b
Make expert items used in "low level" proto functions filterable (and ensure they are called even with a NULL tree). I don't really like the Type Length Mismatch "protocol", but it doesn't seem that much different than the exception "protocols".
...
svn path=/trunk/; revision=52341
2013-10-03 01:54:02 +00:00
Evan Huus
ccbb52b436
Add a dissector assert to _set_bytes like the one in _set_oid, noticed while
...
debugging https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9214
svn path=/trunk/; revision=52327
2013-10-01 22:50:29 +00:00
Evan Huus
f1ba7e1095
The pointer into proto_tree_add_oid can be NULL if the length is 0. Exposed
...
because wmem_alloc(pool, 0) returns NULL (like pretty much every other
malloc-style function) where ep_ or se_ alloc did not.
Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9175
svn path=/trunk/; revision=52187
2013-09-23 12:09:20 +00:00
Pascal Quantin
102c452bcb
More emem -> wmem conversion:
...
- tvb_get_g_stringz()/tvb_get_ephemeral_stringz()/tvb_get_seasonal_stringz() -> tvb_get_stringz()
- tvb_get_g_stringz_enc()/tvb_get_ephemeral_stringz_enc() -> tvb_get_stringz_enc()
- tvb_get_ephemeral_unicode_stringz() -> tvb_get_unicode_stringz()
- tvb_bcd_dig_to_ep_str() -> tvb_bcd_dig_to_wmem_packet_str()
- update docs accordingly
svn path=/trunk/; revision=52180
2013-09-22 20:04:35 +00:00
Pascal Quantin
a0c53ffaa1
emem -> wmem conversion:
...
- ep_tvb_get_bits() -> wmem_packet_tvb_get_bits()
- tvb_g_memdup()/ep_tvb_memdup() -> tvb_memdup()
- tvb_fake_unicode()/tvb_get_ephemeral_faked_unicode() -> tvb_get_faked_unicode()
- tvb_get_g_string()/tvb_get_ephemeral_string()/tvb_get_seasonal_string() -> tvb_get_string()
- tvb_get_g_unicode_string()/tvb_get_ephemeral_unicode_string() -> tvb_get_unicode_string()
- tvb_get_ephemeral_string_enc() -> tvb_get_string_enc()
- update docs accordingly
svn path=/trunk/; revision=52172
2013-09-22 15:50:55 +00:00
Evan Huus
6df83e8078
Add _g_ to the names of functions that allocate glib memory. This is a bit more
...
explicit, and frees up the "generic" names (like tvb_memdup) for new signatures
that take the appropriate wmem pool.
Majority of the conversion done with sed.
svn path=/trunk/; revision=52164
2013-09-21 17:04:41 +00:00
Bill Meier
3bb06ab6a5
Fix proto_registrar_dump_protocols() bug introduced by the
...
implementation of BASE_VAL64_STRING value_strings.
Fixes 'tshark -G values' crash.
svn path=/trunk/; revision=52121
2013-09-17 18:33:03 +00:00
Guy Harris
aa8fbf09d2
The secs field of an nstime_t is a time_t, so cast to that.
...
svn path=/trunk/; revision=51981
2013-09-12 20:31:31 +00:00
Jörg Mayer
934cc4526d
Make proto.c compile on my system (linux, 32 bit)
...
[-Werror,-Wshorten-64-to-32]
time_stamp.secs = (todsecs / 1000000) - TOD_BASETIME;
~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
/home/jmayer/work/wireshark/svn/trunk/epan/proto.c:1613:44: error: implicit conversion
loses integer precision: 'unsigned long long' to 'time_t' (aka 'long')
[-Werror,-Wshorten-64-to-32]
time_stamp.secs = (todsecs / 1000000) - TOD_BASETIME;
~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
svn path=/trunk/; revision=51978
2013-09-12 20:07:48 +00:00
Evan Huus
3d5ed04f60
Add casts to fix mac buildbots.
...
svn path=/trunk/; revision=51975
2013-09-12 17:17:42 +00:00
Evan Huus
f8693e35e0
From RobiOneKenobi via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9072
...
Add support for Time-of-Day timestamp format from z/OS.
svn path=/trunk/; revision=51974
2013-09-12 16:56:37 +00:00
Michael Mann
1b009df749
Couldn't quite figure out how to make the expert items in proto.c and the LUA API filterable (suggestions welcome!), but I wanted to start forcing dissectors to use the filterable expert API (nothing like compile errors to force change!). I created expert_add_info_format_internal (original expert_add_info_format) and used it as a placeholder for proto.c/LUA API until a solution is created. The "new" expert_add_info_format will be the "old" expert_add_info_format_text, and I'll slowly do the search/replace.
...
For those with dissectors outside the source tree, please see tools/convert_expert_add_info_format.pl for help with the conversion. Please do not use expert_add_info_format_internal, as it's support time will be very short lived.
svn path=/trunk/; revision=51844
2013-09-08 19:32:10 +00:00
Evan Huus
304bbabbbe
From Jiri Engelthaler via
...
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9055
Add support for bitmask set for signed integer types.
svn path=/trunk/; revision=51522
2013-08-26 16:23:55 +00:00
Jakub Zawadzki
850f80fdc1
proto: simplify proto_tree_add_pi() remove out pointer to field_info *
...
field_info can be already get using PNODE_FINFO(return_value)
svn path=/trunk/; revision=51479
2013-08-22 21:20:50 +00:00
Jakub Zawadzki
4e870dd240
Fix few concept of new api tree:
...
- (for now) keep ABI, restore prototype of old proto_tree_add_item, add new proto_tree_add_item_new
- add few helpers for boolean, time, string which will do ->id
- don't use HFI_INIT directly, use it by another macro (MSVC has very small limit for section name)
svn path=/trunk/; revision=51401
2013-08-17 07:16:12 +00:00
Jakub Zawadzki
9d79b3233a
Introduce new proto_tree API required for hf_ variables removal.
...
svn path=/trunk/; revision=51396
2013-08-16 21:21:52 +00:00
Jakub Zawadzki
97bddef1a2
Try to fix compilation under MSVC
...
__builtin_ctz() with bitmask == 0 is UB, so only do g_assert there.
svn path=/trunk/; revision=51176
2013-08-06 21:06:56 +00:00
Jakub Zawadzki
9cfac1227d
Replace hfinfo pointer to same_name_prev, with same_name_prev_id.
...
svn path=/trunk/; revision=51175
2013-08-06 20:53:47 +00:00
Jakub Zawadzki
72ea2f9c9c
Remove hfinfo->bitshift member, add hfinfo_bitshift() to get it.
...
svn path=/trunk/; revision=51174
2013-08-06 20:10:59 +00:00
Jakub Zawadzki
93f56d8a77
Optimize wrs_count_bitshift()
...
- Use __builtin_ctz for GCC/clang
- Do multiply and lookup on other platforms
svn path=/trunk/; revision=51173
2013-08-06 19:53:54 +00:00
Michael Mann
81f3faf1e8
Completely remove support for proto_item_set_expert_flags.
...
svn path=/trunk/; revision=51144
2013-08-05 02:25:45 +00:00
Jakub Zawadzki
430bd9eacc
Optimize marking label as truncated in proto_tree_set_representation_*()
...
svn path=/trunk/; revision=51036
2013-07-30 20:02:24 +00:00
Martin Kaiser
3b92f760ed
add a NULL check to report_type_length_mismatch()
...
this might be called via proto_tree_add_item() with tree==NULL
which results in a crash
svn path=/trunk/; revision=51020
2013-07-29 21:10:13 +00:00
Evan Huus
dbabc55955
Much simpler (and possibly faster) fix for the 64-bit value string label issue.
...
svn path=/trunk/; revision=50983
2013-07-28 20:05:04 +00:00
Evan Huus
4e5ac2989c
As caught by Stig: 64-bit value strings could print the field name twice.
...
Don't do that.
svn path=/trunk/; revision=50982
2013-07-28 19:56:23 +00:00
Jakub Zawadzki
5b15390b3a
Store protocol fields in single linked list, saves about 1 MB of memory.
...
svn path=/trunk/; revision=50967
2013-07-28 10:47:31 +00:00
Michael Mann
f3dac73d38
Fix compile error that resulted from whitespace cleanup.
...
svn path=/trunk/; revision=50963
2013-07-28 00:11:30 +00:00
Michael Mann
a87f47c02c
Make many items filterable for Vines dissectors.
...
Add support for FT_VINES type.
svn path=/trunk/; revision=50962
2013-07-28 00:07:49 +00:00
Jakub Zawadzki
0d414ac0fd
make some variables static
...
svn path=/trunk/; revision=50952
2013-07-27 20:57:58 +00:00
Evan Huus
5ede3bcde0
Follow-up to r50935: add support for 64-bit value strings in more places that
...
need it, I think this is all of them.
svn path=/trunk/; revision=50941
2013-07-26 23:51:00 +00:00
Evan Huus
c0cac8611e
Squelch MSVC warnings. It doesn't know that DISSECTOR_ASSERT_NOT_REACHED doesn't
...
return.
svn path=/trunk/; revision=50939
2013-07-26 22:52:34 +00:00
Evan Huus
6e3a30794e
Add 64-bit value strings and the appropriate tooling (including yet another
...
overloaded use of the DISPLAY field). Thanks to Jakub for pointing out I'd done
this wrong the first time (months ago in r49357).
Fixes severity display for collectd protocol, originally filed at:
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8472
svn path=/trunk/; revision=50935
2013-07-26 21:51:39 +00:00
Jeff Morriss
d58c13c363
As pointed out in https://www.wireshark.org/lists/wireshark-dev/201307/msg00153.html :
...
The fix for https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3290 needs
to allow for giving a length of -1 for FT_STRINGZ's.
This is another fix for https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8960
(in addition to r50836). There's no point in reverting that revision, though,
since there was no need to use a length of -1 in that case.
svn path=/trunk/; revision=50892
2013-07-25 18:37:18 +00:00
Jakub Zawadzki
696a79707b
Optimize proto_item_append_string()
...
- When old string empty just pass new one (like: frame.protocols)
- if not, use ep_strconcat()
svn path=/trunk/; revision=50890
2013-07-25 17:19:17 +00:00
Guy Harris
8bd5a3649a
Have get_uint_value() assume it's being passed an encoding value, which
...
isn't necessarily going to be zero if the item is big-endian.
The last argument to test_length() is an encoding, not a big-endian vs.
little-endian Boolean; name it appropriately.
This fixes bug 8953.
svn path=/trunk/; revision=50806
2013-07-22 23:11:07 +00:00
Jakub Zawadzki
547eabc949
Use label_fill also when boolean / bitfield.
...
svn path=/trunk/; revision=50682
2013-07-16 22:21:10 +00:00
Jakub Zawadzki
13e07be25f
optimize: remove g_snprintf()'s from label_fill[_descr]
...
svn path=/trunk/; revision=50681
2013-07-16 22:09:29 +00:00
Alexis La Goutte
7c5b471584
Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
...
svn path=/trunk/; revision=50632
2013-07-15 18:06:29 +00:00
Jakub Zawadzki
e26b65f0ec
proto_custom_set() cleanup
...
- Merge _UINT / _INT into one case
- fix possible generation of wrong expression ("some_integer") for unknown value in BASE_NONE field
svn path=/trunk/; revision=50548
2013-07-13 09:14:25 +00:00
Jeff Morriss
b53ced1e6a
get_hfi_and_length() hasn't returned the hfi since r50015: rename it
...
to get_hfi_length().
svn path=/trunk/; revision=50509
2013-07-11 15:03:43 +00:00
Jeff Morriss
160c35c8e9
For consistency:
...
s/hf_index/hfindex/g
s/hf_info/hfinfo/g
svn path=/trunk/; revision=50507
2013-07-11 14:58:11 +00:00
Jeff Morriss
b6ee11e928
Fix the very long loop fuzz failure reported in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8923 :
...
Apply the fix for https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3290
to proto_tree_add_bits_item(). That is, test that we have offset+length bytes
left in the TVB before trying to fake the item.
svn path=/trunk/; revision=50504
2013-07-11 14:46:30 +00:00
Jakub Zawadzki
87646b1126
Fixes for tmp_fld_check_value():
...
- FT_FRAMENUM can't have strings
- mask hfinfo->display to compare with valid BASE_ value
svn path=/trunk/; revision=50444
2013-07-08 05:59:07 +00:00
Jakub Zawadzki
ed4622dc7f
ups? first add + 1, then multiply.
...
svn path=/trunk/; revision=50438
2013-07-07 21:32:12 +00:00
Jakub Zawadzki
d4f1a2c599
tree_is_expanded: make it bit array.
...
Right now we have about 36K of ett items, and tree_is_expanded takes: 144K of memory (36K*sizeof(gboolean))
By making tree_is_expanded bit array, it reduce size to 4.5K (36K/8)
svn path=/trunk/; revision=50434
2013-07-07 17:13:17 +00:00
Jakub Zawadzki
792f35a28c
Make tree_is_expanded array static, add setter/getter function.
...
svn path=/trunk/; revision=50433
2013-07-07 16:33:49 +00:00
Jakub Zawadzki
5ef777c80b
proto.c: add few more cases when oct/hex can show up with signed number
...
remove invalid comment about HEX/OCT print not supported for signed numbers.
svn path=/trunk/; revision=50427
2013-07-06 23:46:31 +00:00
Jakub Zawadzki
242e18dace
PROTO_REGISTRAR_GET_NTH() not needed after TRY_TO_FAKE_THIS_ITEM
...
svn path=/trunk/; revision=50376
2013-07-03 22:57:53 +00:00
Jakub Zawadzki
99e03acfd8
Optimize proto_item_prepend_text: if there's no fi->rep avoid one strlcpy().
...
svn path=/trunk/; revision=50372
2013-07-03 17:44:46 +00:00
Jakub Zawadzki
9c58621893
- rename and optimize proto_data_add_maybe_interesting_field
...
- proto_tree_add_node() double checks if tree_type is valid remove second one (first one is more verbose)
svn path=/trunk/; revision=50328
2013-07-02 21:26:14 +00:00
Jakub Zawadzki
68c2c57037
Remove tree argument from TRY_TO_FAKE_THIS_REPR macro
...
PTREE_DATA should be the same for both *tree* and *pi*
svn path=/trunk/; revision=50326
2013-07-02 20:51:58 +00:00
Jakub Zawadzki
b0e04aca73
Rewrite proto_lookup_or_create_interesting_hfids() and rename to proto_data_add_maybe_interesting_field
...
Now proto_data_add_maybe_interesting_field:
- it actually add field_info to interesting hash_tree
- accept only required parameters
- is called only by proto_tree_add_node
svn path=/trunk/; revision=50321
2013-07-02 19:23:10 +00:00
Jakub Zawadzki
1d2409dd69
Micro-optimize common case for proto_tree_add_pi() assume tree != NULL, pfi != NULL
...
Fix calles.
svn path=/trunk/; revision=50320
2013-07-02 18:56:48 +00:00
Jakub Zawadzki
cce4ad3c66
tree == NULL check is already done by TRY_TO_FAKE_THIS_ITEM() macro.
...
svn path=/trunk/; revision=50319
2013-07-02 18:45:47 +00:00
Jakub Zawadzki
874f119225
Remove not needed TRY_TO_FAKE_THIS_ITEM() from proto_tree_*_format & proto_tree_*_format_value
...
Right now for proto_tree_add format & _format_value TRY_TO_FAKE_THIS_ITEM() is called twice
one from 'format' function, second time from 'no format' function.
This reduces size of .text by 10K:
text data bss dec hex filename
76012 112 56 76180 12994 proto-after.o
86324 112 56 86492 151dc proto-before.o
svn path=/trunk/; revision=50318
2013-07-02 18:36:00 +00:00
Jakub Zawadzki
d27f026884
cleanup, put result of decode_bitfield_value directly to fi->rep->representation
...
svn path=/trunk/; revision=50316
2013-07-02 17:09:38 +00:00
Jakub Zawadzki
2ab52de572
Add TRY_TO_FAKE_THIS_REPR into proto_tree_set_representation_value() call.
...
Remove TRY_TO_FAKE_THIS_REPR from calling functions.
svn path=/trunk/; revision=50314
2013-07-02 16:09:56 +00:00
Jakub Zawadzki
d0c5a5561d
snprintf -> strlcpy.
...
svn path=/trunk/; revision=50311
2013-07-02 14:14:52 +00:00
Jakub Zawadzki
7b5a0e4a15
Cleanup fill_label_[u]int64 to fill_label_number64
...
svn path=/trunk/; revision=50299
2013-07-01 15:24:42 +00:00
Jakub Zawadzki
7dc10daffe
Rewrite hfinfo_numeric_value_format as a special case for _hfinfo_number_value_format
...
cleanup some functions.
svn path=/trunk/; revision=50290
2013-07-01 09:46:50 +00:00
Jeff Morriss
772b17a6c6
Actually use the new environment variable created in r49784--apparently I forgot to check in this file (sigh).
...
svn path=/trunk/; revision=50257
2013-06-30 16:16:13 +00:00
Jakub Zawadzki
33abb4e091
proto_custom_set: don't fetch values twice.
...
svn path=/trunk/; revision=50252
2013-06-30 13:23:31 +00:00
Guy Harris
882db1c5fb
Squelch a warning.
...
Rename the "is_int" argument to fill_label_number() to make it clearer
what it indicates, i.e. whether the number is signed or unsigned.
svn path=/trunk/; revision=50224
2013-06-28 22:47:50 +00:00
Jakub Zawadzki
d0c862bfa6
Merge fill_label_[u]int to fill_label_number, hfinfo_[u]int_value_format to hfinfo_number_value_format
...
svn path=/trunk/; revision=50220
2013-06-28 21:46:41 +00:00
Jakub Zawadzki
8ccfc17cf2
Merge _hfinfo_int_value_format and _hfinfo_uint_value_format to one function hfinfo_number_vals_format
...
In hfinfo_number_vals_format check how hf should be formatted.
svn path=/trunk/; revision=50217
2013-06-28 19:54:04 +00:00