Carsten Fuchs wrote:
However, I was wondering how I best read zero-terminated strings?
Of course it is possible to loop over i until
    buffer(offset+i, 1):uint8() == 0
then
    i = i + 1    -- Read the zero as well.
        subtree:add(CafuProto.fields.MyString, buffer(offset, i));
    offset = offset + i
But I was wondering if there is a more direct and/or more elegant way?
Btw., what is the difference between ProtoField.string and 
ProtoField.stringz as mentioned at 
http://www.wireshark.org/docs/wsug_html_chunked/lua_module_Proto.html#lua_class_ProtoField 
?
To use 'string' fields you'll need to determine the string length first.
'stringz' fields are strings that you're sure are NULL-terminated and so 
you should be able to use a length of -1 (which means "continue to the 
NULL terminator") but I'm not sure how that can be done in the Lua API 
(maybe you can just past -1 to the length in buffer()?).