#include "stdinc.h"
#include "ircd_defs.h"
-#include "common.h"
#include "ircd.h"
#include "res.h"
#include "reslib.h"
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*256*/
};
+#ifndef _WIN32
static int parse_resvconf(void);
+#else
+static void parse_windows_resolvers(void);
+#endif
+
static void add_nameserver(const char *);
static const char digits[] = "0123456789";
irc_res_init(void)
{
irc_nscount = 0;
+#ifndef _WIN32
parse_resvconf();
+#else
+ parse_windows_resolvers();
+#endif
if (irc_nscount == 0)
add_nameserver("127.0.0.1");
return 0;
}
+#ifdef _WIN32
+static void
+parse_windows_resolvers(void)
+{
+ const char *ns = get_windows_nameservers();
+ char *server;
+ char *p;
+ char *buf = rb_strdup(ns);
+ for(server = rb_strtok_r(buf, " ", &p); server != NULL;server = rb_strtok_r(NULL, " ", &p))
+ {
+ add_nameserver(server);
+ }
+ rb_free(buf);
+}
+#else
/* parse_resvconf()
*
* inputs - NONE
if ((p = strpbrk(arg, " \t")) != NULL)
*p = '\0'; /* take the first word */
- if (strcasecmp(opt, "domain") == 0)
+ if (rb_strcasecmp(opt, "domain") == 0)
rb_strlcpy(irc_domain, arg, sizeof(irc_domain));
- else if (strcasecmp(opt, "nameserver") == 0)
+ else if (rb_strcasecmp(opt, "nameserver") == 0)
add_nameserver(arg);
}
fclose(file);
return 0;
}
+#endif
/* add_nameserver()
*