generate_packets.py: indent generated code only once needed
Note: This change is going to conflict with parts of hrm#745593 (by changing the indentation of code modified there). Need to figure out whether to delay this until after that, or whether that needs more changes that take longer anyway.
Reply To alienvalkyrie
Note: This change is going to conflict with parts of hrm#745593 (by changing the indentation of code modified there). Need to figure out whether to delay this until after that, or whether that needs more changes that take longer anyway.
One thing still in hrm#745593 touching generate_packets.py, and not related to the main issue of that ticket are the change to use FC_FREE() instead of free() + "... = NULL;" for some fields. Not sure if we want to do that, but if we do, it should go to separate ticket and then handle also other similar cases in generate_packets.py.
Reply To cazfi
Reply To alienvalkyrie
Note: This change is going to conflict with parts of hrm#745593 (by changing the indentation of code modified there). Need to figure out whether to delay this until after that, or whether that needs more changes that take longer anyway.
One thing still in hrm#745593 touching generate_packets.py, and not related to the main issue of that ticket are the change to use FC_FREE() instead of free() + "... = NULL;" for some fields. Not sure if we want to do that, but if we do, it should go to separate ticket and then handle also other similar cases in generate_packets.py.
As far as I can tell (based on the latest patch attached there), that's not the only change to be made to generate_packets.py, so extracting that into its own patch won't completely solve this conflict – but it's probably sensible anyway, given the number of such cases (and the fact that in one case, the ... = NULL; was forgotten) ~> #44993
Part of #43927. To make code-generating functions more reusable, each function should produce code that is as un-indented as possible, with callers using prefix() to indent as necessary; this way, the generated code can easily be used in different contexts where it needs different indentation.