Annotation of researchv9/jerq/src/sysmon/sname.c, revision 1.1.1.1

1.1       root        1: #include "defs.h"
                      2: #include <stdio.h>
                      3: 
                      4: /* imported */
                      5: char *malloc();
                      6: char *strcpy();
                      7: char *strcat();
                      8: 
                      9: /* get the system name */
                     10: char *
                     11: getsysname()
                     12: {
                     13:     int i, fd;
                     14:     char *cp;
                     15:     static char name[DKNAMELEN+1];
                     16: 
                     17:     /* read the system name */
                     18:     fd = open("/etc/whoami", 0);
                     19:     if (fd < 0)
                     20:        return (NULL);
                     21:     i = read(fd, name, DKNAMELEN);
                     22:     if (i <= 0) {
                     23:        return (NULL);
                     24:     }
                     25:     (void)close (fd);
                     26:     name[i] = NULL;
                     27:     for (cp = name; *cp != 0 && *cp != '\n'; cp++);
                     28:     *cp = NULL;
                     29:     return (name);
                     30: }
                     31: 
                     32: 
                     33: /* make a name from the given system name and suffix */
                     34: char *
                     35: sname(sysname, generic)
                     36: char *sysname;
                     37: char *generic;
                     38: {
                     39:     static char name[DKNAMELEN+1];
                     40:     int i,j;
                     41: 
                     42:     i = strlen(sysname);
                     43:     j = strlen (generic);
                     44:     if (i+j > DKNAMELEN) {
                     45:        if (j >= DKNAMELEN)
                     46:            return (NULL);
                     47:        for (i = 0, j = DKNAMELEN - j; i <= j; i++) {
                     48:            name[i] = sysname[i];
                     49:        }
                     50:        name[i] = 0;
                     51:     } else {
                     52:        (void)strcpy (name, sysname);
                     53:     }
                     54:     (void)strcat (name, generic);
                     55:     return (name);
                     56: }
                     57: 
                     58: /* ealloc with error reporting */
                     59: char *
                     60: ealloc(size)
                     61: int size;
                     62: {
                     63:     char *ptr;
                     64: 
                     65:     ptr = malloc ((unsigned)size);
                     66:     if (ptr == NULL) {
                     67:        perror ("ealloc");
                     68:        exit(-1);
                     69:     }
                     70:     return (ptr);
                     71: }
                     72: 

unix.superglobalmegacorp.com

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