Annotation of 43BSD/contrib/icon/pifuncs/seek.c, revision 1.1.1.1

1.1       root        1: /*
                      2: #      SEEK(3.icon)
                      3: #
                      4: #      Seek to position in stream
                      5: #
                      6: #      Stephen B. Wampler
                      7: #
                      8: #      Last modified 8/19/84
                      9: #
                     10: */
                     11: 
                     12: #include "../h/rt.h"
                     13: 
                     14: /*
                     15:  * seek(file,offset,start) - seek to offset byte from start in file.
                     16:  */
                     17: 
                     18: Xseek(nargs, arg3, arg2, arg1, arg0)
                     19: int nargs;
                     20: struct descrip arg3, arg2, arg1, arg0;
                     21:    {
                     22:    long l1, l2;
                     23:    int status;
                     24:    FILE *fd;
                     25:    long ftell();
                     26: 
                     27:    DeRef(arg1)
                     28:    if (arg1.type != D_FILE)
                     29:       runerr(106);
                     30: 
                     31:    defint(&arg2, &l1, 0);
                     32:    defshort(&arg3, 0);
                     33: 
                     34:    fd = BLKLOC(arg1)->file.fd;
                     35: 
                     36:    if ((BLKLOC(arg1)->file.status == 0) ||
                     37:        (fseek(fd, l1, arg3.value.integr) == -1))
                     38:       fail();
                     39:    mkint(ftell(fd), &arg0);
                     40:    }
                     41: 
                     42: Procblock(seek,3)

unix.superglobalmegacorp.com

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