diff options
author | Guy Harris <guy@alum.mit.edu> | 2014-04-12 15:26:34 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2014-04-12 22:27:22 +0000 |
commit | cb16dff992c3844936bf5829f19e5a5247458503 (patch) | |
tree | 901b7be3379f5b94f150de71d1c0f3e2fa2d12e4 /ui/qt | |
parent | ef8a0a2ce172810d48371eb65c73b1bd4a6303ca (diff) |
Get rid of more tvb_get_nstringz* calls.
Add an FT_STRINGZPAD type, for null-padded strings (typically
fixed-length fields, where the string can be up to the length of the
field, and is null-padded if it's shorter than that), and use it. Use
IS_FT_STRING() in more cases, so that less code needs to know what types
are string types.
Add a tvb_get_stringzpad() routine, which gets null-padded strings.
Currently, it does the same thing that tvb_get_string_enc() does, but
that might change if we don't store string values as null-terminated
strings.
Change-Id: I46f56e130de8f419a19b56ded914e24cc7518a66
Reviewed-on: https://code.wireshark.org/review/1082
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'ui/qt')
-rw-r--r-- | ui/qt/decode_as_dialog.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ui/qt/decode_as_dialog.cpp b/ui/qt/decode_as_dialog.cpp index 8715fd5c91..f384d01a50 100644 --- a/ui/qt/decode_as_dialog.cpp +++ b/ui/qt/decode_as_dialog.cpp @@ -138,6 +138,8 @@ QString DecodeAsDialog::entryString(const gchar *table_name, gpointer value) case FT_STRING: case FT_STRINGZ: + case FT_UINT_STRING: + case FT_STRINGZPAD: entry_str = (char *)value; break; @@ -341,7 +343,7 @@ void DecodeAsDialog::fillTypeColumn(QTreeWidgetItem *item) ftenum_t selector_type = get_dissector_table_selector_type(table_name); - if (selector_type == FT_STRING || selector_type == FT_STRINGZ) { + if (IS_FT_STRING(selector_type)) { item->setText(type_col_, tr("String")); } else { QString type_desc = tr("Integer, base "); @@ -430,7 +432,7 @@ void DecodeAsDialog::tableNamesCurrentIndexChanged(const QString &text) selector_combo_box_->setCurrentIndex(0); } else { ftenum_t selector_type = get_dissector_table_selector_type(ui_name_to_name_[text]); - if (selector_type == FT_STRING || selector_type == FT_STRINGZ) { + if (IS_FT_STRING(selector_type)) { selector_combo_box_->setEditText(default_str_selector_); } else { selector_combo_box_->setEditText(default_int_selector_); @@ -463,7 +465,7 @@ void DecodeAsDialog::selectorEditTextChanged(const QString &text) ftenum_t selector_type = get_dissector_table_selector_type(table_name); dissector_handle_t dissector; - if (selector_type == FT_STRING || selector_type == FT_STRINGZ) { + if (IS_FT_STRING(selector_type)) { dissector = dissector_get_default_string_handle(table_name, text.toUtf8().constData()); } else { dissector = dissector_get_default_uint_handle(table_name, text.toInt(NULL, 0)); |