Thread (1 message) 1 message, 1 author, 2019-11-22

Re: [PATCH 4/8] builtin/config: collect "value_regexp" data in a struct

From: Junio C Hamano <hidden>
Date: 2019-11-22 06:30:50

Martin Ågren [off-list ref] writes:
quoted
quoted
+static struct {
+     enum { none, regexp } mode;
We often use the same identifier for a struct and an instance of the
struct, taking advantage of the fact that they live in separate
namespaces, but lowercase enumerated values like 'regexp' that
collides with the field name (and possibly a variable name used
elsewhere) smells a bit too much.
Ok, thanks for sanity-checking.
quoted
quoted
+     regex_t *regexp;
+     int do_not_match; /* used with `regexp` */
+} cmd_line_value;
I _might_ want to take this back.  A pattern that uses the "mode" to
switch among the possibilities in a union, i.e.

	struct {
		enum {
			<something>_none,
			<something>_regexp,
			<something>_bool,
			<something>_int,
		} mode;
                union {
			<type-used-when-it-is-regexp> regexp;
			<type-used-when-it-is-bool> bool;
			<type-used-when-it-is-int> int;
		} u;
	};

may not be too bad.  So I do not strongly mind the lowercase.

But I still do mind an overly bland names for identifiers in an
enum, as enum is not quite a type on its own ('regexp' in one enum
may collide with the same identifier in another enum)..

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help