Lines Matching defs:len
10 size_t pos, len, size;
30 base = (size_t [3]){0, c->pos, c->len}[whence];
35 static size_t mread(FILE *f, unsigned char *buf, size_t len)
38 size_t rem = c->len - c->pos;
39 if (c->pos > c->len) rem = 0;
40 if (len > rem) {
41 len = rem;
44 memcpy(buf, c->buf+c->pos, len);
45 c->pos += len;
46 rem -= len;
52 return len;
56 static size_t mreadx(FILE *f, unsigned char *buf, size_t len)
59 size_t rem = c->len - c->pos;
60 if (c->pos > c->len) rem = 0;
61 if (len > rem) {
62 len = rem;
65 memcpy(buf, c->buf+c->pos, len);
66 c->pos += len;
67 return len;
70 static size_t mwrite(FILE *f, const unsigned char *buf, size_t len)
79 if (c->mode == 'a') c->pos = c->len;
81 if (len > rem) len = rem;
82 memcpy(c->buf+c->pos, buf, len);
83 c->pos += len;
84 if (c->pos > c->len) {
85 c->len = c->pos;
86 if (c->len < c->size) c->buf[c->len] = 0;
89 return len;
130 if (*mode == 'r') f->c.len = size;
131 else if (*mode == 'a') f->c.len = f->c.pos = strnlen(buf, size);