Annotation of 43BSD/contrib/mkmf/src/slappend.c, revision 1.1.1.1

1.1       root        1: /* $Header: slappend.c,v 1.2 85/03/18 13:18:28 nicklin Exp $ */
                      2: 
                      3: /*
                      4:  * Author: Peter J. Nicklin
                      5:  */
                      6: 
                      7: /*
                      8:  * slappend() saves a null-terminated key string somewhere and inserts a
                      9:  * pointer to the key at the tail of list slist. Returns a pointer to
                     10:  * the somewhere, or a null pointer if out of memory.
                     11:  */
                     12: #include <stdio.h>
                     13: #include "macro.h"
                     14: #include "null.h"
                     15: #include "slist.h"
                     16: 
                     17: extern char *PGN;                      /* program name */
                     18: 
                     19: char *
                     20: slappend(key, slist)
                     21:        char *key;                      /* key string */
                     22:        SLIST *slist;                   /* pointer to list head block */
                     23: {
                     24:        char *malloc();                 /* memory allocator */
                     25:        char *strcpy();                 /* string copy */
                     26:        int strlen();                   /* string length */
                     27:        SLBLK *slbptr;                  /* pointer to list block */
                     28:        unsigned int klen;              /* key length */
                     29: 
                     30:        if (slist == NULL)
                     31:                return(NULL);
                     32:        klen = strlen(key);
                     33:        slist->maxkey = MAX(slist->maxkey, klen);
                     34:        if ((slbptr = (SLBLK *) malloc(sizeof(SLBLK))) == NULL ||
                     35:            (slbptr->key = malloc(klen+1)) == NULL)
                     36:                {
                     37:                if (*PGN != '\0')
                     38:                        fprintf(stderr, "%s: ", PGN);
                     39:                fprintf(stderr, "out of memory\n");
                     40:                return(NULL);
                     41:                }
                     42:        strcpy(slbptr->key, key);
                     43:        slbptr->next = NULL;
                     44:        if (slist->tail == NULL)
                     45:                slist->head = slist->tail = slbptr;
                     46:        else
                     47:                slist->tail = slist->tail->next = slbptr;
                     48:        slist->nk++;
                     49:        return(slbptr->key);
                     50: }

unix.superglobalmegacorp.com

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