VCD/Gnuplot: Fix incorrect sample counter.
This commit is contained in:
parent
114fb93f67
commit
086eac7c7b
|
@ -143,7 +143,8 @@ static int data(struct output *o, char *data_in, uint64_t length_in,
|
|||
{
|
||||
struct context *ctx;
|
||||
unsigned int i, outsize, p, curbit;
|
||||
uint64_t sample, count = 0;
|
||||
uint64_t sample;
|
||||
static uint64_t samplecount = 0;
|
||||
char *outbuf, *c;
|
||||
|
||||
ctx = o->internal;
|
||||
|
@ -170,7 +171,7 @@ static int data(struct output *o, char *data_in, uint64_t length_in,
|
|||
|
||||
/* The first column is a counter (needed for gnuplot). */
|
||||
c = outbuf + strlen(outbuf);
|
||||
sprintf(c, "%" PRIu64 "\t\t", count++);
|
||||
sprintf(c, "%" PRIu64 "\t\t", samplecount++);
|
||||
|
||||
/* The next columns are the values of all channels. */
|
||||
for (p = 0; p < ctx->num_enabled_probes; p++) {
|
||||
|
|
|
@ -158,6 +158,7 @@ static int data(struct output *o, char *data_in, uint64_t length_in,
|
|||
unsigned int i, outsize;
|
||||
int p, curbit, prevbit;
|
||||
uint64_t sample, prevsample;
|
||||
static uint64_t samplecount = 0;
|
||||
char *outbuf, *c;
|
||||
|
||||
ctx = o->internal;
|
||||
|
@ -180,6 +181,7 @@ static int data(struct output *o, char *data_in, uint64_t length_in,
|
|||
/* TODO: Are disabled probes handled correctly? */
|
||||
|
||||
for (i = 0; i <= length_in - ctx->unitsize; i += ctx->unitsize) {
|
||||
samplecount++;
|
||||
memcpy(&sample, data_in + i, ctx->unitsize);
|
||||
for (p = 0; p < ctx->num_enabled_probes; p++) {
|
||||
curbit = (sample & ((uint64_t) (1 << p))) != 0;
|
||||
|
@ -197,9 +199,9 @@ static int data(struct output *o, char *data_in, uint64_t length_in,
|
|||
continue;
|
||||
|
||||
/* FIXME: Only once per sample? */
|
||||
/* TODO: Is 'i' correct here? */
|
||||
c = outbuf + strlen(outbuf);
|
||||
sprintf(c, "#%i\n%i%c\n", i, curbit, (char)('!' + p));
|
||||
sprintf(c, "#%" PRIu64 "\n%i%c\n", samplecount,
|
||||
curbit, (char)('!' + p));
|
||||
}
|
||||
|
||||
/* TODO: Use realloc() if strlen(outbuf) is almost "full"... */
|
||||
|
|
Loading…
Reference in New Issue