Annotation of 42BSD/ucb/pascal/pxp/string.c, revision 1.1.1.1

1.1       root        1: static char *sccsid = "@(#)string.c    1.2 (Berkeley) 3/7/81";
                      2: /* Copyright (c) 1979 Regents of the University of California */
                      3: #
                      4: /*
                      5:  * pxp - Pascal execution profiler
                      6:  *
                      7:  * Bill Joy UCB
                      8:  * Version 1.2 January 1979
                      9:  */
                     10: 
                     11: #include "0.h"
                     12: 
                     13: /*
                     14:  * STRING SPACE DECLARATIONS
                     15:  *
                     16:  * Strng is the base of the current
                     17:  * string space and strngp the
                     18:  * base of the free area therein.
                     19:  * No array of descriptors is needed
                     20:  * as string space is never freed.
                     21:  */
                     22: STATIC char strings[STRINC];
                     23: STATIC char *strng = strings;
                     24: STATIC char *strngp = strings;
                     25: 
                     26: /*
                     27: initstring()
                     28: {
                     29: 
                     30: }
                     31:  */
                     32: /*
                     33:  * Copy a string into the string area.
                     34:  */
                     35: savestr(cp)
                     36:        register char *cp;
                     37: {
                     38:        register int i;
                     39: 
                     40:        i = strlen(cp) + 1;
                     41:        if (strngp + i >= strng + STRINC) {
                     42:                strngp = alloc(STRINC);
                     43:                if (strngp == -1) {
                     44:                        yerror("Ran out of memory (string)");
                     45:                        pexit(DIED);
                     46:                }
                     47:                strng = strngp;
                     48:        }
                     49:        strcpy(strngp, cp);
                     50:        cp = strngp;
                     51:        strngp = cp + i;
                     52:        return (cp);
                     53: }
                     54: 
                     55: esavestr(cp)
                     56:        char *cp;
                     57: {
                     58: 
                     59:        strngp = (int)(strngp + (sizeof (int) - 1)) &~ (sizeof (int) - 1);
                     60:        return (savestr(cp));
                     61: }

unix.superglobalmegacorp.com

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