On Mon, Nov 12, 2018 at 01:49:05PM -0800, steadmon@xxxxxxxxxx wrote: > diff --git a/protocol.c b/protocol.c > index 5e636785d1..54d2ab991b 100644 > --- a/protocol.c > +++ b/protocol.c > +void get_client_protocol_version_advertisement(struct strbuf *advert) > +{ > + int tmp_nr = nr_allowed_versions; > + enum protocol_version *tmp_allowed_versions, config_version; > + strbuf_reset(advert); > + > + have_advertised_versions_already = 1; > + > + config_version = get_protocol_version_config(); > + if (config_version == protocol_v0) { > + strbuf_addstr(advert, "version=0"); > + return; > + } > + > + if (tmp_nr > 0) { > + ALLOC_ARRAY(tmp_allowed_versions, tmp_nr); > + copy_array(tmp_allowed_versions, allowed_versions, tmp_nr, > + sizeof(enum protocol_version)); > + } else { > + ALLOC_ARRAY(tmp_allowed_versions, 1); > + tmp_nr = 1; > + tmp_allowed_versions[0] = config_version; > + } > + > + if (tmp_allowed_versions[0] != config_version) > + for (int i = 1; i < nr_allowed_versions; i++) We don't do C99 yet, thus the declaration of a loop variable like this is not allowed and triggers compiler errors. > + if (tmp_allowed_versions[i] == config_version) { > + enum protocol_version swap = > + tmp_allowed_versions[0]; > + tmp_allowed_versions[0] = > + tmp_allowed_versions[i]; > + tmp_allowed_versions[i] = swap; > + } > + > + strbuf_addf(advert, "version=%s", > + format_protocol_version(tmp_allowed_versions[0])); > + for (int i = 1; i < tmp_nr; i++) Likewise. > + strbuf_addf(advert, ":version=%s", > + format_protocol_version(tmp_allowed_versions[i])); > +}