Annotation of researchv9/ipc/src/mgrs/svcmgr/subr.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * miscellany
        !             3:  */
        !             4: 
        !             5: #include "mgr.h"
        !             6: #include <setjmp.h>
        !             7: #include <stdio.h>
        !             8: #include <ctype.h>
        !             9: #include <libc.h>
        !            10: 
        !            11: /*
        !            12:  * trap errors from recomp and regexec
        !            13:  */
        !            14: 
        !            15: jmp_buf rxerr;
        !            16: 
        !            17: regerror(s)
        !            18: char *s;
        !            19: {
        !            20:        logevent("regex error: %s\n", s);
        !            21:        longjmp(rxerr, 1);
        !            22: }
        !            23: 
        !            24: 
        !            25: /*
        !            26:  * read a line from the remote end
        !            27:  */
        !            28: char *
        !            29: rdline(f)
        !            30: int f;
        !            31: {
        !            32:        static char buf[ARB];
        !            33:        register char *p;
        !            34:        register int n;
        !            35: 
        !            36:        for (p = buf; p-buf<ARB-1; p++) {
        !            37:                n = read(f, p, 1);
        !            38:                if (n <= 0)
        !            39:                        break;
        !            40:                if (*p == '\r' || *p == '\n' || *p == '\0') {
        !            41:                        *++p = '\0';
        !            42:                        return (buf);
        !            43:                }
        !            44:        }
        !            45:        return NULL;
        !            46: }
        !            47: 
        !            48: 
        !            49: /*
        !            50:  *  compile a regular expression inserting a ^ at the beginning and
        !            51:  *  a $ at the end.
        !            52:  */
        !            53: regexp *
        !            54: nregcomp(re)
        !            55:        char *re;
        !            56: {
        !            57:        char fullre[ARB];
        !            58:        register char *cp=fullre;
        !            59: 
        !            60:        *cp++ = '^';
        !            61:        while(*re)
        !            62:                *cp++ = *re++;
        !            63:        *cp++ = '$';
        !            64:        *cp = '\0';
        !            65:        return regcomp(fullre);
        !            66: }

unix.superglobalmegacorp.com

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