]> git.ipfire.org Git - thirdparty/git.git/commitdiff
userdiff.c: use designated initializers for "struct userdiff_driver"
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 24 Feb 2022 09:33:03 +0000 (10:33 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 24 Feb 2022 23:59:27 +0000 (15:59 -0800)
Change the "struct userdiff_driver" assignmentns to use designated
initializers, but let's keep the PATTERNS() and IPATTERN() convenience
macros to avoid churn, but have them defined in terms of designated
initializers.

For the "driver_true" and "driver_false" let's have the compiler
implicitly initialize most of the fields, but let's leave a redundant
".binary = 0" for "driver_true" to make it obvious that it's the
opposite of the the ".binary = 1" for "driver_false".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
userdiff.c

index 8578cb0d12e59848ebd3d4bff754ada89ec99656..2d9eb99bf287abcb5ed39fde334877c6c8945158 100644 (file)
@@ -7,12 +7,24 @@ static struct userdiff_driver *drivers;
 static int ndrivers;
 static int drivers_alloc;
 
-#define PATTERNS(name, pattern, word_regex)                    \
-       { name, NULL, -1, { pattern, REG_EXTENDED },            \
-         word_regex "|[^[:space:]]|[\xc0-\xff][\x80-\xbf]+" }
-#define IPATTERN(name, pattern, word_regex)                    \
-       { name, NULL, -1, { pattern, REG_EXTENDED | REG_ICASE }, \
-         word_regex "|[^[:space:]]|[\xc0-\xff][\x80-\xbf]+" }
+#define PATTERNS(lang, rx, wrx) { \
+       .name = lang, \
+       .binary = -1, \
+       .funcname = { \
+               .pattern = rx, \
+               .cflags = REG_EXTENDED, \
+       }, \
+       .word_regex = wrx "|[^[:space:]]|[\xc0-\xff][\x80-\xbf]+", \
+}
+#define IPATTERN(lang, rx, wrx) { \
+       .name = lang, \
+       .binary = -1, \
+       .funcname = { \
+               .pattern = rx, \
+               .cflags = REG_EXTENDED | REG_ICASE, \
+       }, \
+       .word_regex = wrx "|[^[:space:]]|[\xc0-\xff][\x80-\xbf]+", \
+}
 
 /*
  * Built-in drivers for various languages, sorted by their names
@@ -275,17 +287,13 @@ PATTERNS("tex", "^(\\\\((sub)*section|chapter|part)\\*{0,1}\\{.*)$",
 #undef IPATTERN
 
 static struct userdiff_driver driver_true = {
-       "diff=true",
-       NULL,
-       0,
-       { NULL, 0 }
+       .name = "diff=true",
+       .binary = 0,
 };
 
 static struct userdiff_driver driver_false = {
-       "!diff",
-       NULL,
-       1,
-       { NULL, 0 }
+       .name = "!diff",
+       .binary = 1,
 };
 
 struct find_by_namelen_data {