assert(loghead->ptr < loghead->size);
/* Wrap if necessary */
- if (loghead->ptr + 4 + l + 1 > loghead->size)
+ if (loghead->ptr + 5 + l + 1 > loghead->size)
vsl_wrap();
p = logstart + loghead->ptr;
p[1] = l & 0xff;
p[2] = (id >> 8) & 0xff;
p[3] = id & 0xff;
memcpy(p + 4, b, l);
- p[4 + l] = SLT_ENDMARKER;
+ p[4 + l] = '\0';
+ p[5 + l] = SLT_ENDMARKER;
p[0] = tag;
- loghead->ptr += 4 + l;
+ loghead->ptr += 5 + l;
assert(loghead->ptr < loghead->size);
AZ(pthread_mutex_unlock(&vsl_mutex));
}
assert(loghead->ptr < loghead->size);
/* Wrap if we cannot fit a full size record */
- if (loghead->ptr + 4 + 255 + 1 > loghead->size)
+ if (loghead->ptr + 5 + 255 + 1 > loghead->size)
vsl_wrap();
p = logstart + loghead->ptr;
p[1] = n & 0xff;
p[2] = (id >> 8) & 0xff;
p[3] = id & 0xff;
- p[4 + n] = SLT_ENDMARKER;
+ p[4 + n] = '\0';;
+ p[5 + n] = SLT_ENDMARKER;
p[0] = tag;
- loghead->ptr += 4 + n;
+ loghead->ptr += 5 + n;
assert(loghead->ptr < loghead->size);
AZ(pthread_mutex_unlock(&vsl_mutex));
}
v = 0;
if (wfile != NULL) {
- i = fwrite(p, 4 + p[1], 1, wfile);
+ i = fwrite(p, 5 + p[1], 1, wfile);
if (i != 1)
perror(w_opt);
u++;
unsigned char *ptr;
FILE *fi;
- unsigned char rbuf[4 + 255 + 1];
+ unsigned char rbuf[5 + 255 + 1];
int b_opt;
int c_opt;
i = fread(vd->rbuf, 4, 1, vd->fi);
if (i != 1)
return (-1);
- if (vd->rbuf[1] > 0) {
- i = fread(vd->rbuf + 4, vd->rbuf[1], 1, vd->fi);
- if (i != 1)
- return (-1);
- }
+ i = fread(vd->rbuf + 4, vd->rbuf[1] + 1, 1, vd->fi);
+ if (i != 1)
+ return (-1);
*pp = vd->rbuf;
return (1);
}
vd->ptr = p;
return (0);
}
- vd->ptr = p + p[1] + 4;
+ vd->ptr = p + p[1] + 5;
*pp = p;
return (1);
}