@@ -137,7 +137,7 @@ bool WiresharkLayer::wiresharkNeedsOptionalModeDefinition() const
137137
138138std::string WiresharkLayer::wiresharkDissectBodyImpl () const
139139{
140- return strings::genEmptyString () ;
140+ return " -- TODO: implement " ;
141141}
142142
143143bool WiresharkLayer::wiresharkIsInterfaceSupportedImpl ([[maybe_unused]] const WiresharkInterface& iFace) const
@@ -159,16 +159,22 @@ std::string WiresharkLayer::wiresharkDissectFieldCode() const
159159 }
160160
161161 static const std::string Templ =
162- " result, next_offset = #^#NAME#$#(tvb, tree, offset, offset_limit )\n "
163- " if result ~= #^#SUCCESS#$# then\n "
164- " return result, next_offset \n "
162+ " #^#RESULT#$#, #^#NEXT_OFFSET#$# = #^#NAME#$#(#^#TVB#$#, #^#TREE#$#, #^#OFFSET#$#, #^#LIMIT#$# )\n "
163+ " if #^#RESULT#$# ~= #^#SUCCESS#$# then\n "
164+ " return #^#RESULT#$#, #^#NEXT_OFFSET#$# \n "
165165 " end\n "
166166 ;
167167
168168 auto & wiresharkGenerator = WiresharkGenerator::wiresharkCast (m_genLayer.genGenerator ());
169169 util::GenReplacementMap repl = {
170170 {" NAME" , field->wiresharkDissectName ()},
171171 {" SUCCESS" , Wireshark::wiresharkStatusCodeStr (wiresharkGenerator, Wireshark::WiresharkStatusCode::Success)},
172+ {" RESULT" , WiresharkField::wiresharkResultStr ()},
173+ {" NEXT_OFFSET" , WiresharkField::wiresharkNextOffsetStr ()},
174+ {" TVB" , WiresharkField::wiresharkTvbStr ()},
175+ {" TREE" , WiresharkField::wiresharkTreeStr ()},
176+ {" OFFSET" , WiresharkField::wiresharkOffsetStr ()},
177+ {" LIMIT" , WiresharkField::wiresharkOffsetLimitStr ()},
172178 };
173179
174180 return util::genProcessTemplate (Templ, repl);
@@ -181,13 +187,19 @@ std::string WiresharkLayer::wiresharkNextFuncCode() const
181187 " if next_func == #^#NIL#$# then\n "
182188 " return #^#ERROR#$#, offset\n "
183189 " end\n "
184- " result, next_offset = next_func(tvb, tree, offset, offset_limit , funcs, next_idx + 1, msg)\n "
190+ " #^#RESULT#$#, #^#NEXT_OFFSET#$# = next_func(#^#TVB#$#, #^#TREE#$#, #^#OFFSET#$#, #^#LIMIT#$# , funcs, next_idx + 1, msg)\n "
185191 ;
186192
187193 auto & wiresharkGenerator = WiresharkGenerator::wiresharkCast (m_genLayer.genGenerator ());
188194 util::GenReplacementMap repl = {
189195 {" NIL" , strings::genNilStr ()},
190196 {" ERROR" , Wireshark::wiresharkStatusCodeStr (wiresharkGenerator, Wireshark::WiresharkStatusCode::CodegenError)},
197+ {" RESULT" , WiresharkField::wiresharkResultStr ()},
198+ {" NEXT_OFFSET" , WiresharkField::wiresharkNextOffsetStr ()},
199+ {" TVB" , WiresharkField::wiresharkTvbStr ()},
200+ {" TREE" , WiresharkField::wiresharkTreeStr ()},
201+ {" OFFSET" , WiresharkField::wiresharkOffsetStr ()},
202+ {" LIMIT" , WiresharkField::wiresharkOffsetLimitStr ()},
191203 };
192204
193205 return util::genProcessTemplate (Templ, repl);
0 commit comments