unnecessary 'int' in s_conf.c

Rachel Llorenna rachies at gmail.com
Fri Jan 7 19:01:43 EST 2005

>From ircd-hybrid-current, serial number 20041220_0. The 'int ret' is
unnecessary in s_conf.c:lookup_confhost (lines 2161-2205),

static void
lookup_confhost(struct ConfItem *conf)
  struct AccessItem *aconf;
  struct addrinfo hints, *res;
  int ret;

  aconf = map_to_conf(conf);

  if (EmptyString(aconf->host) ||
    ilog(L_ERROR, "Host/server name error: (%s) (%s)",
         aconf->host, conf->name);

  if (strchr(aconf->host, '*') ||
      strchr(aconf->host, '?'))

  /* Do name lookup now on hostnames given and store the
   * ip numbers in conf structure.
  memset(&hints, 0, sizeof(hints));

  hints.ai_family   = AF_UNSPEC;
  hints.ai_socktype = SOCK_STREAM;

  /* Get us ready for a bind() and don't bother doing dns lookup */
  hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;

  if ((ret = irc_getaddrinfo(aconf->host, NULL, &hints, &res)))

  assert(res != NULL);

  memcpy(&aconf->ipnum, res->ai_addr, res->ai_addrlen);
  aconf->ipnum.ss_len = res->ai_addrlen;
  aconf->ipnum.ss.ss_family = res->ai_family;

Note that 'ret' is not referenced beyond that single if statement.
Since the return value of irc_getaddrinfo is only used by that one
'if' statement, why not collapse that line to:
  if (irc_getaddrinfo(aconf->host, NULL, &hints, &res)) ...

And remove the declaration of ret? This would only save a small and
insignificant amount of memory, but at least it doesn't come at the
cost of CPU cycles or other limited resources.

Rachel Llorenna (frequency)

More information about the hybrid mailing list