aboutsummaryrefslogtreecommitdiffstats
path: root/epan/wslua/wslua_field.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/wslua/wslua_field.c')
-rw-r--r--epan/wslua/wslua_field.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/epan/wslua/wslua_field.c b/epan/wslua/wslua_field.c
index 6abbd1ccad..7712f0e2c7 100644
--- a/epan/wslua/wslua_field.c
+++ b/epan/wslua/wslua_field.c
@@ -175,11 +175,13 @@ WSLUA_METAMETHOD FieldInfo__call(lua_State* L) {
return 1;
}
case FT_NONE:
- if (fi->ws_fi->length == 0) {
- lua_pushnil(L);
- return 1;
+ if (fi->ws_fi->length > 0 && fi->ws_fi->rep) {
+ /* it has a length, but calling fvalue_get() on an FT_NONE asserts,
+ so get the label instead (it's a FT_NONE, so a label is what it basically is) */
+ lua_pushstring(L, fi->ws_fi->rep->representation);
+ return 1;
}
- /* FALLTHROUGH */
+ return 0;
case FT_BYTES:
case FT_UINT_BYTES:
case FT_REL_OID: