File tree Expand file tree Collapse file tree 1 file changed +15
-2
lines changed
Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -957,8 +957,21 @@ def custom_object_wrapper(node_arg, **kwargs):
957957 env .Object = custom_object_wrapper
958958
959959 # Call user middleware - it will call our wrapper
960- for middleware_func , _ in existing_middlewares :
961- middleware_func (env , node )
960+ for middleware_func , pattern in existing_middlewares :
961+ # Mirror PlatformIO: callbacks may be def f(node) or def f(env, node)
962+ try :
963+ argcount = middleware_func .__code__ .co_argcount
964+ except AttributeError :
965+ argcount = 1
966+ if argcount == 2 :
967+ result = middleware_func (env , node )
968+ else :
969+ result = middleware_func (node )
970+ # Honor return value: None drops the node
971+ if result is None :
972+ return None
973+ if result is not node :
974+ node = result
962975
963976 # Restore original env.Object
964977 env .Object = original_object
You can’t perform that action at this time.
0 commit comments