Fix two node-copying bugs in update
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "VersionedMap.h"
|
||||
#include <ctype.h>
|
||||
#include <inttypes.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -10,22 +11,42 @@ printMutation(const weaselab::VersionedMap::Iterator::VersionedMutation &m) {
|
||||
case weaselab::VersionedMap::Set:
|
||||
printf("set ");
|
||||
for (int i = 0; i < m.param1Len; ++i) {
|
||||
printf("x%02x", m.param1[i]);
|
||||
auto c = m.param1[i];
|
||||
if (isprint(c)) {
|
||||
printf("%c", c);
|
||||
} else {
|
||||
printf("x%02x", c);
|
||||
}
|
||||
}
|
||||
printf(" -> '");
|
||||
for (int i = 0; i < m.param2Len; ++i) {
|
||||
printf("x%02x", m.param2[i]);
|
||||
auto c = m.param2[i];
|
||||
if (isprint(c)) {
|
||||
printf("%c", c);
|
||||
} else {
|
||||
printf("x%02x", c);
|
||||
}
|
||||
}
|
||||
printf("' @ %" PRId64 "\n", m.version);
|
||||
break;
|
||||
case weaselab::VersionedMap::Clear:
|
||||
printf("clear [");
|
||||
for (int i = 0; i < m.param1Len; ++i) {
|
||||
printf("x%02x", m.param1[i]);
|
||||
auto c = m.param1[i];
|
||||
if (isprint(c)) {
|
||||
printf("%c", c);
|
||||
} else {
|
||||
printf("x%02x", c);
|
||||
}
|
||||
}
|
||||
printf(", ");
|
||||
for (int i = 0; i < m.param2Len; ++i) {
|
||||
printf("x%02x", m.param2[i]);
|
||||
auto c = m.param2[i];
|
||||
if (isprint(c)) {
|
||||
printf("%c", c);
|
||||
} else {
|
||||
printf("x%02x", c);
|
||||
}
|
||||
}
|
||||
printf(") @ %" PRId64 "\n", m.version);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user