Annotation of coherent/a/tmp/smail/gethostname.c, revision 1.1

1.1     ! root        1: /* gethostname.c
        !             2:        
        !             3:        Get hostname and domainname from the files which define them
        !             4:        in /etc.
        !             5:        by La Monte H. Yarroll ([email protected])
        !             6:        Copyright (c) 1991 by Mark Williams Company
        !             7:        Permission to use and redistribute is granted, provided the
        !             8:        above copyright notice appears on all copies.
        !             9: */
        !            10: 
        !            11: #include <stdio.h>
        !            12: 
        !            13: FILE *fopen();
        !            14: 
        !            15: 
        !            16: #define ETC_HOSTNAME "/etc/uucpname"
        !            17: #define ETC_DOMAIN "/etc/domain"
        !            18: #define NIL ((unsigned char) NULL)
        !            19: 
        !            20: int gethostname(name, bufsize)
        !            21:        unsigned char *name;
        !            22:        int bufsize;
        !            23: {
        !            24:        int i;
        !            25:        FILE *fp;
        !            26:        
        !            27:        if ( (fp = fopen(ETC_HOSTNAME, "r")) == NULL ) {
        !            28: #ifdef DEBUG
        !            29:                fprintf(stderr, "gethostname:  Can't open %s.\n", ETC_HOSTNAME);
        !            30: #endif
        !            31:                return (-1);
        !            32:        }
        !            33: 
        !            34:        fgets(name, bufsize, fp);
        !            35:        fclose(fp);
        !            36: 
        !            37:        /* Truncate at first newline. */
        !            38:        for (i = 0;
        !            39:             (i < bufsize) && (name[i] != NIL) && (name[i] != '\n');
        !            40:             ++i ) {
        !            41:        }
        !            42: 
        !            43:        if (i >= bufsize) {
        !            44: #ifdef DEBUG
        !            45:                fprintf(stderr,
        !            46:                        "gethostname:  Found neither a NULL nor a newline.\n");
        !            47: #endif
        !            48:                return (-1);
        !            49:        } else {
        !            50:                name[i] = NIL;
        !            51:        }
        !            52:        return (0);
        !            53: }
        !            54: 
        !            55: int getdomain(name, bufsize)
        !            56:        unsigned char *name;
        !            57:        int bufsize;
        !            58: {
        !            59:        int i;
        !            60:        FILE *fp;
        !            61:        
        !            62:        if ( (fp = fopen(ETC_DOMAIN, "r")) == NULL ) {
        !            63: #ifdef DEBUG
        !            64:          fprintf(stderr, "getdomainname:  Can't open %s.\n", ETC_DOMAIN);
        !            65: #endif
        !            66:                return (-1);
        !            67:        }
        !            68: 
        !            69:        fgets(name, bufsize, fp);
        !            70:        fclose(fp);
        !            71: 
        !            72:        /* Truncate at first newline. */
        !            73:        for (i = 0;
        !            74:             (i < bufsize) && (name[i] != NIL) && (name[i] != '\n');
        !            75:             ++i ) {
        !            76:        }
        !            77: 
        !            78:        if (i >= bufsize) {
        !            79: #ifdef DEBUG
        !            80:                fprintf(stderr,
        !            81:                        "getdomain:  Found neither a NULL nor a newline.\n");
        !            82: #endif
        !            83:                return (-1);
        !            84:        } else {
        !            85:                name[i] = NIL;
        !            86:        }
        !            87:        return (0);
        !            88: }

unix.superglobalmegacorp.com

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