mirror of
https://github.com/google/sandboxed-api.git
synced 2024-03-22 13:11:30 +08:00
Use absl::Span in BPF disassembler
PiperOrigin-RevId: 369636095 Change-Id: I13a8ae08ba354e54c502e0f6cdd35287fdfbb723
This commit is contained in:
parent
4344bbceba
commit
d9824dff16
|
@ -29,7 +29,11 @@ cc_library(
|
|||
srcs = ["bpfdisassembler.cc"],
|
||||
hdrs = ["bpfdisassembler.h"],
|
||||
copts = sapi_platform_copts(),
|
||||
deps = ["@com_google_absl//absl/strings"],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"@com_google_absl//absl/strings",
|
||||
"@com_google_absl//absl/types:span",
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
|
|
|
@ -24,6 +24,7 @@ add_library(sandbox2_bpfdisassembler ${SAPI_LIB_TYPE}
|
|||
)
|
||||
add_library(sandbox2::bpfdisassembler ALIAS sandbox2_bpfdisassembler)
|
||||
target_link_libraries(sandbox2_bpfdisassembler PRIVATE
|
||||
absl::span
|
||||
absl::strings
|
||||
sapi::base
|
||||
)
|
||||
|
|
|
@ -234,9 +234,9 @@ std::string DecodeInstruction(const sock_filter& inst, int pc) {
|
|||
}
|
||||
}
|
||||
|
||||
std::string Disasm(const std::vector<sock_filter>& prog) {
|
||||
std::string Disasm(absl::Span<const sock_filter> prog) {
|
||||
std::string rv;
|
||||
for (size_t i = 0, len = prog.size(); i < len; ++i) {
|
||||
for (size_t i = 0; i < prog.size(); ++i) {
|
||||
absl::StrAppend(&rv, absl::Dec(i, absl::kZeroPad3), ": ",
|
||||
DecodeInstruction(prog[i], i), "\n");
|
||||
}
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/types/span.h"
|
||||
|
||||
struct sock_filter;
|
||||
|
||||
namespace sandbox2 {
|
||||
|
@ -28,7 +30,7 @@ std::string DecodeInstruction(const sock_filter& inst, int pc);
|
|||
|
||||
// Disassembles a BPF program.
|
||||
// Returns a human-readable textual represenation.
|
||||
std::string Disasm(const std::vector<sock_filter>& prog);
|
||||
std::string Disasm(absl::Span<const sock_filter> prog);
|
||||
|
||||
} // namespace bpf
|
||||
} // namespace sandbox2
|
||||
|
|
Loading…
Reference in New Issue
Block a user