diff options
Diffstat (limited to 'cpukit/pppd/ipcp.c')
-rw-r--r-- | cpukit/pppd/ipcp.c | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/cpukit/pppd/ipcp.c b/cpukit/pppd/ipcp.c index 57245721fa..680409c5c8 100644 --- a/cpukit/pppd/ipcp.c +++ b/cpukit/pppd/ipcp.c @@ -1570,24 +1570,26 @@ static void create_resolv(peerdns1, peerdns2) u_int32_t peerdns1, peerdns2; { - FILE *f; - - f = fopen(_PATH_RESOLV, "w"); - if (f == NULL) { - error("Failed to create %s: %m", _PATH_RESOLV); - return; - } - - if (peerdns1) - fprintf(f, "nameserver %s\n", ip_ntoa(peerdns1)); - - if (peerdns2) - fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2)); - - if (ferror(f)) - error("Write failed to %s: %m", _PATH_RESOLV); - - fclose(f); + extern int rtems_bsdnet_nameserver_count; + extern struct in_addr rtems_bsdnet_nameserver[]; + + /* initialize values */ + rtems_bsdnet_nameserver_count = (int)0; + + /* check to see if primary was specified */ + if ( peerdns1 ) { + rtems_bsdnet_nameserver[rtems_bsdnet_nameserver_count].s_addr = peerdns1; + rtems_bsdnet_nameserver_count++; + } + + /* check to see if secondary was specified */ + if ( peerdns2 ) { + rtems_bsdnet_nameserver[rtems_bsdnet_nameserver_count].s_addr = peerdns2; + rtems_bsdnet_nameserver_count++; + } + + /* initialize resolver */ + __res_init(); } /* |