&& errno == EINVAL))
&& (errno = EINVAL)))
receive_print_stats (void){  struct statdata data;  request_header req;  ssize_t nbytes;  int fd;  int i;  /* Open a socket to the running nscd.  */  fd = nscd_open_socket ();  if (fd == -1)    error (EXIT_FAILURE, 0, _("nscd not running!\n"));  /* Send the request.  */  req.version = NSCD_VERSION;  req.type = GETSTAT;  req.key_len = 0;  nbytes = TEMP_FAILURE_RETRY (write (fd, &req, sizeof (request_header)));  if (nbytes != sizeof (request_header))    {      int err = errno;      close (fd);      error (EXIT_FAILURE, err, _("write incomplete"));    }  /* Read as much data as we expect.  */  if (TEMP_FAILURE_RETRY (read (fd, &data, sizeof (data))) != sizeof (data)      || (memcmp (data.version, compilation, sizeof (compilation)) != 0	  /* Yes, this is an assignment!  */	  && errno == EINVAL))    {      /* Not the right version.  */      int err = errno;      close (fd);      error (EXIT_FAILURE, err, _("cannot read statistics data"));    }  printf (_("nscd configuration:\n\n%15d  server debug level\n"),	  data.debug_level);  for (i = 0; i < lastdb; ++i)    {      unsigned long int hit = data.dbs[i].poshit + data.dbs[i].neghit;      unsigned long int all = hit + data.dbs[i].posmiss + data.dbs[i].negmiss;      const char *enabled = nl_langinfo (data.dbs[i].enabled ? YESSTR : NOSTR);      const char *check_file = nl_langinfo (data.dbs[i].check_file					    ? YESSTR : NOSTR);      if (enabled[0] == '\0')	/* The locale does not provide this information so we have to	   translate it ourself.  Since we should avoid short translation	   terms we artifically increase the length.  */	enabled = data.dbs[i].enabled ? _("     yes") : _("      no");      if (check_file[0] == '\0')	check_file = data.dbs[i].check_file ? _("     yes") : _("      no");      if (all == 0)	/* If nothing happened so far report a 0% hit rate.  */	all = 1;      printf (_("\n%s cache:\n\n"		"%15s  cache is enabled\n"		"%15Zd  suggested size\n"		"%15ld  seconds time to live for positive entries\n"		"%15ld  seconds time to live for negative entries\n"		"%15ld  cache hits on positive entries\n"		"%15ld  cache hits on negative entries\n"		"%15ld  cache misses on positive entries\n"		"%15ld  cache misses on negative entries\n"		"%15ld%% cache hit rate\n"		"%15s  check /etc/%s for changes\n"),	      dbnames[i], enabled,	      data.dbs[i].module,	      data.dbs[i].postimeout, data.dbs[i].negtimeout,	      data.dbs[i].poshit, data.dbs[i].neghit,	      data.dbs[i].posmiss, data.dbs[i].negmiss,	      (100 * hit) / all,	      check_file, dbnames[i]);    }  close (fd);  exit (0);}