Hi Arnold, > > OSX 10.11.6 > > Building after using 'touch .developing' for the first time, I get > > > > depbase=`echo dfa.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ > > gcc -DGAWK -DHAVE_CONFIG_H -I"./.." -I. -I.. -I/opt/local/include > > -I/opt/local/include -g -O2 -DARRAYDEBUG -DYYDEBUG -DLOCALEDEBUG > > -DMEMDEBUG -Wall -fno-builtin -g3 -ggdb3 -g -O2 -DARRAYDEBUG -DYYDEBUG > > -DLOCALEDEBUG -DMEMDEBUG -Wall -fno-builtin -g3 -ggdb3 -MT dfa.o -MD > > -MP -MF $depbase.Tpo -c -o dfa.o dfa.c &&\ > > mv -f $depbase.Tpo $depbase.Po > > > > dfa.c:1627:19: warning: suggest braces around initialization of subobject > > [-Wmissing-braces] > > mbstate_t s = { 0 }; > > ^ > > {} > > 1 warning generated.
{ 0 } is the only portable initializer for an mbstate_t. If we were to use another initializer, it would make assumptions about the structure of an mbstate_t. That is, #ifdefs. Another option was to use to portable initializer, but use memset (&s, '\0', sizeof (s)) to initialize the variable. This is ugly BSD style of the 1980ies, which we have abandoned more than 10 years ago. Bruno