From 489244a015cf7ba2230c0f06bb3f3e768a3eefd9 Mon Sep 17 00:00:00 2001 From: Pragyansh Chaturvedi Date: Fri, 10 Oct 2025 02:56:11 +0530 Subject: [PATCH] Add store_through_chain --- pythonbpf/binary_ops.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pythonbpf/binary_ops.py b/pythonbpf/binary_ops.py index ccd51f8..7fa8969 100644 --- a/pythonbpf/binary_ops.py +++ b/pythonbpf/binary_ops.py @@ -43,6 +43,16 @@ def get_operand_value(operand, builder, local_sym_tab): raise TypeError(f"Unsupported operand type: {type(operand)}") +def store_through_chain(value, chain, builder): + """Store a value through a pointer chain.""" + if not chain or len(chain) < 2: + raise ValueError("Pointer chain must have at least two elements") + + for ptr in reversed(chain[1:]): + builder.store(value, ptr) + value = ptr + + def handle_binary_op_impl(rval, builder, local_sym_tab): op = rval.op left, _, _ = get_operand_value(rval.left, builder, local_sym_tab)