Remove non-standard initialisation of flexible array member
authorAndreas Schwab <schwab@linux-m68k.org>
Sat, 20 Apr 2013 10:12:35 +0000 (12:12 +0200)
committerAndreas Schwab <schwab@linux-m68k.org>
Tue, 23 Apr 2013 08:31:03 +0000 (10:31 +0200)
This avoids GCC bug 28865.

ChangeLog
nss/nss_files/files-init.c

index 4b41c6d..9a54ec7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-04-23  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * nss/nss_files/files-init.c (TF): Don't initialize flexible array
+       member.
+       (_nss_files_init): Set it here.
+
 2013-04-23  Heiko Carstens  <heiko.carstens@de.ibm.com>
 
        * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Change types of
index 8aac3fb..a34c49a 100644 (file)
@@ -18,6 +18,7 @@
 
 #ifdef USE_NSCD
 
+#include <string.h>
 #include <nscd/nscd.h>
 
 
@@ -30,7 +31,7 @@ static union                                                  \
   {                                                            \
     .file =                                                    \
     {                                                          \
-      .fname = filename, ## __VA_ARGS__                                \
+      __VA_ARGS__                                              \
     }                                                          \
   }
 
@@ -45,16 +46,22 @@ TF (netgr, "/etc/netgroup");
 void
 _nss_files_init (void (*cb) (size_t, struct traced_file *))
 {
+  strcpy (pwd_traced_file.file.fname, "/etc/passwd");
   cb (pwddb, &pwd_traced_file.file);
 
+  strcpy (grp_traced_file.file.fname, "/etc/group");
   cb (grpdb, &grp_traced_file.file);
 
+  strcpy (hst_traced_file.file.fname, "/etc/hosts");
   cb (hstdb, &hst_traced_file.file);
 
+  strcpy (resolv_traced_file.file.fname, "/etc/resolv.conf");
   cb (hstdb, &resolv_traced_file.file);
 
+  strcpy (serv_traced_file.file.fname, "/etc/services");
   cb (servdb, &serv_traced_file.file);
 
+  strcpy (netgr_traced_file.file.fname, "/etc/netgroup");
   cb (netgrdb, &netgr_traced_file.file);
 }