On Tue, Sep 20, 2022 at 3:26 PM Antonio Quartulli <a...@unstable.cc> wrote:
> Hi, > > On 20/09/2022 18:42, Gert Doering wrote: > > Hi, > > > > On Mon, Sep 19, 2022 at 12:06:18AM +0200, Antonio Quartulli wrote: > >> + switch (session->opt->push_peer_info_detail) > >> { > >> - /* push version */ > >> - buf_printf(&out, "IV_VER=%s\n", PACKAGE_VERSION); > >> + case 3: > >> + { > > ... > >> + } > >> > >> + /* fall through */ > > > > These {} brackets are not needed by C or our style guide. > > they are required when the first instruction after a case label is a > variable declaration. So this is needed for case 3, but could be avoided > for the other 2. > IMO, we should have a policy of avoiding variable declarations within case: clauses. Whether its the first line after the case: label or not, if the scope is not limited using {}, it leads to possible jumping over initialization. Its so easy to overlook that. Unfortunately C (unlike C++) complains loudly only if the declaration is next to the label. One could always use {}, but that makes code hard to read. I think its much better to require that all locals used within a switch block must be defined before all case: labels. Selva
_______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel