aboutsummaryrefslogtreecommitdiff
path: root/src/base/bufio/offset.c
blob: 15579c49ba2d909844be683bd089aee2066c01de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "internal.h"

intptr
bio·offset(io·Header *io)
{
    intptr n;
    switch(io->state){
    default:
        fmt·fprint(2, "offset: unknown state %d\n", io->state);
        n = io·BufEof;
        break;

    case io·BufEnd:
    case io·BufRdr:
        n = io->pos + io->ilen;
        break;

    case io·BufWtr:
        n = io->pos + (io->cap + io->olen);
        break;
    }

    return n;
}