On 8/4/2021 9:25 PM, Ævar Arnfjörð Bjarmason wrote:
...
-struct upload_pack_options {
- int stateless_rpc;
- int advertise_refs;
- unsigned int timeout;
- int daemon_mode;
-};
-
-void upload_pack(struct upload_pack_options *options);
+void upload_pack(const int advertise_refs, const int stateless_rpc,
+ const int timeout);
Normally, I would err on keeping a struct that presents the different
parameters of a complicated method, since it is easier to add options
without modifying all callers. However, in this case we already had
some confusion because the 'daemon_mode' option is dependent on the
other values.
The fact that these parameters are translated into a 'struct
upload_pack_data' immediately within upload_pack() shows that these
can be grouped into a "context" object for internal use without
needing this pattern for the method signature.
Works for me.
Thanks,
-Stolee