Annotation of researchv9/jtools/src/v9compat/print.c, revision 1.1

1.1     ! root        1: #include <varargs.h>
        !             2: 
        !             3: #define        SIZE    1024
        !             4: extern int     printcol;
        !             5: 
        !             6: char   *doprint();
        !             7: 
        !             8: print(va_alist)
        !             9: va_dcl
        !            10: {
        !            11:        va_list args;
        !            12:        char *fmt;
        !            13:        char buf[SIZE], *out;
        !            14: 
        !            15:        va_start(args);
        !            16:        fmt = va_arg(args, char *);
        !            17:        va_end(args);
        !            18:        out = doprint(buf, fmt, (char *)args);
        !            19:        return write(1, buf, (int)(out-buf));
        !            20: }
        !            21: 
        !            22: fprint(va_alist)
        !            23: va_dcl
        !            24: {
        !            25:        va_list args;
        !            26:        char *fmt;
        !            27:        int f;
        !            28:        char buf[SIZE], *out;
        !            29: 
        !            30:        va_start(args);
        !            31:        f = va_arg(args, int);
        !            32:        fmt = va_arg(args, char *);
        !            33:        va_end(args);
        !            34:        out = doprint(buf, fmt, (char *)args);
        !            35:        return write(f, buf, (int)(out-buf));
        !            36: }
        !            37: 
        !            38: sprint(va_alist)
        !            39: va_dcl
        !            40: {
        !            41:        va_list args;
        !            42:        char *buf;
        !            43:        char *fmt;
        !            44:        char *out;
        !            45:        int scol;
        !            46: 
        !            47:        va_start(args);
        !            48:        buf = va_arg(args, char *);
        !            49:        fmt = va_arg(args, char *);
        !            50:        va_end(args);
        !            51:        scol = printcol;
        !            52:        out = doprint(buf, fmt, (char *)args);
        !            53:        printcol = scol;
        !            54:        return out-buf;
        !            55: }

unix.superglobalmegacorp.com

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