Annotation of researchv8dc/cmd/inet/libin/in_address.c, revision 1.1.1.1

1.1       root        1: #include <sys/inet/in.h>
                      2: #include <stdio.h>
                      3: #include <ctype.h>
                      4: #include "config.h"
                      5: 
                      6: static char *files[] = {
                      7:        HOSTS,
                      8:        NETWORKS,
                      9: };
                     10: #define NFILES (sizeof(files) / sizeof(files[0]))
                     11: 
                     12: extern char *in_getw();
                     13: 
                     14: /* translate a host name into an address */
                     15: in_addr
                     16: in_address(host)
                     17: char *host;
                     18: {
                     19:        FILE *fp;
                     20:        char buf[512], b[512], *p;
                     21:        int addr, i;
                     22: 
                     23:        if(isdigit(host[0]))
                     24:                return(in_aton(host));
                     25:        for(i = 0; i < NFILES; i++){
                     26:                if((fp = fopen(files[i], "r")) == 0){
                     27:                        perror(files[i]);
                     28:                        continue;
                     29:                }
                     30:                while(fgets(buf, sizeof(buf), fp)){
                     31:                        if(buf[0] == '\n' || buf[0] == '#')
                     32:                                continue;
                     33:                        if((p = in_getw(buf, b)) == 0)
                     34:                                continue;
                     35:                        addr = in_aton(b);
                     36:                        while(p = in_getw(p, b)){
                     37:                                if(strcmp(b, host) == 0){
                     38:                                        fclose(fp);
                     39:                                        return(addr);
                     40:                                }
                     41:                        }
                     42:                }
                     43:                fclose(fp);
                     44:        }
                     45:        return(0);
                     46: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.