diff --git a/pkt.c b/pkt.c index 16626a039..cb49f75dc 100644 --- a/pkt.c +++ b/pkt.c @@ -8,6 +8,11 @@ #include "pkt.h" #include "protobuf_convert.h" +size_t pkt_totlen(const struct pkt *pkt) +{ + return sizeof(pkt->len) + le32_to_cpu(pkt->len); +} + static struct pkt *to_pkt(const tal_t *ctx, Pkt__PktCase type, void *msg) { struct pkt *ret; diff --git a/pkt.h b/pkt.h index 3e6d4735e..c8ff0fa48 100644 --- a/pkt.h +++ b/pkt.h @@ -20,6 +20,9 @@ struct pkt { Pkt *pkt_from_file(const char *filename, Pkt__PktCase expect); Pkt *any_pkt_from_file(const char *filename); +/* Total length of packet, including header. */ +size_t pkt_totlen(const struct pkt *pkt); + struct sha256; struct bitcoin_compressed_pubkey; struct signature; diff --git a/test-cli/close-channel.c b/test-cli/close-channel.c index 93cead442..789d10f6d 100644 --- a/test-cli/close-channel.c +++ b/test-cli/close-channel.c @@ -98,8 +98,7 @@ int main(int argc, char *argv[]) pkt = close_channel_complete_pkt(ctx, &sig); else pkt = close_channel_pkt(ctx, &sig); - if (!write_all(STDOUT_FILENO, pkt, - sizeof(pkt->len) + le32_to_cpu(pkt->len))) + if (!write_all(STDOUT_FILENO, pkt, pkt_totlen(pkt))) err(1, "Writing out packet"); tal_free(ctx); diff --git a/test-cli/leak-anchor-sigs.c b/test-cli/leak-anchor-sigs.c index 82dab6bac..b451bfa57 100644 --- a/test-cli/leak-anchor-sigs.c +++ b/test-cli/leak-anchor-sigs.c @@ -28,8 +28,7 @@ int main(int argc, char *argv[]) ->open_anchor_scriptsigs; pkt = leak_anchor_sigs_and_pretend_we_didnt_pkt(ctx, s); - if (!write_all(STDOUT_FILENO, pkt, - sizeof(pkt->len) + le32_to_cpu(pkt->len))) + if (!write_all(STDOUT_FILENO, pkt, pkt_totlen(pkt))) err(1, "Writing out packet"); tal_free(ctx); diff --git a/test-cli/open-anchor-scriptsigs.c b/test-cli/open-anchor-scriptsigs.c index d5677e376..fae59f6a2 100644 --- a/test-cli/open-anchor-scriptsigs.c +++ b/test-cli/open-anchor-scriptsigs.c @@ -95,8 +95,7 @@ int main(int argc, char *argv[]) } pkt = open_anchor_sig_pkt(ctx, sigs, o1->anchor->n_inputs); - if (!write_all(STDOUT_FILENO, pkt, - sizeof(pkt->len) + le32_to_cpu(pkt->len))) + if (!write_all(STDOUT_FILENO, pkt, pkt_totlen(pkt))) err(1, "Writing out packet"); tal_free(ctx); diff --git a/test-cli/open-channel.c b/test-cli/open-channel.c index c99f2f5e4..d8ddde7c9 100644 --- a/test-cli/open-channel.c +++ b/test-cli/open-channel.c @@ -174,8 +174,7 @@ int main(int argc, char *argv[]) pkt = openchannel_pkt(ctx, weak_random64(), &revocation_hash, &outkey, commit_tx_fee, locktime_seconds, &anchor); - if (!write_all(STDOUT_FILENO, pkt, - sizeof(pkt->len) + le32_to_cpu(pkt->len))) + if (!write_all(STDOUT_FILENO, pkt, pkt_totlen(pkt))) err(1, "Writing out packet"); tal_free(ctx); diff --git a/test-cli/open-commit-sig.c b/test-cli/open-commit-sig.c index 16ab9785e..18ebf400a 100644 --- a/test-cli/open-commit-sig.c +++ b/test-cli/open-commit-sig.c @@ -88,8 +88,7 @@ int main(int argc, char *argv[]) privkey, &pubkey1, &sig); pkt = open_commit_sig_pkt(ctx, &sig); - if (!write_all(STDOUT_FILENO, pkt, - sizeof(pkt->len) + le32_to_cpu(pkt->len))) + if (!write_all(STDOUT_FILENO, pkt, pkt_totlen(pkt))) err(1, "Writing out packet"); tal_free(ctx); diff --git a/test-cli/update-channel-accept.c b/test-cli/update-channel-accept.c index 6a16880c6..7e8f5c58d 100644 --- a/test-cli/update-channel-accept.c +++ b/test-cli/update-channel-accept.c @@ -106,8 +106,7 @@ int main(int argc, char *argv[]) privkey, &pubkey1, &sig.sig); pkt = update_accept_pkt(ctx, &sig.sig, &revocation_hash); - if (!write_all(STDOUT_FILENO, pkt, - sizeof(pkt->len) + le32_to_cpu(pkt->len))) + if (!write_all(STDOUT_FILENO, pkt, pkt_totlen(pkt))) err(1, "Writing out packet"); tal_free(ctx); diff --git a/test-cli/update-channel-complete.c b/test-cli/update-channel-complete.c index 93f968a75..6aad4282c 100644 --- a/test-cli/update-channel-complete.c +++ b/test-cli/update-channel-complete.c @@ -121,8 +121,7 @@ int main(int argc, char *argv[]) /* Hand over our preimage for previous tx. */ shachain_from_seed(&seed, num_updates, &preimage); pkt = update_complete_pkt(ctx, &preimage); - if (!write_all(STDOUT_FILENO, pkt, - sizeof(pkt->len) + le32_to_cpu(pkt->len))) + if (!write_all(STDOUT_FILENO, pkt, pkt_totlen(pkt))) err(1, "Writing out packet"); tal_free(ctx); diff --git a/test-cli/update-channel-signature.c b/test-cli/update-channel-signature.c index c06d28e9f..3c8d8de26 100644 --- a/test-cli/update-channel-signature.c +++ b/test-cli/update-channel-signature.c @@ -124,8 +124,7 @@ int main(int argc, char *argv[]) privkey, &pubkey1, &sig.sig); pkt = update_signature_pkt(ctx, &sig.sig, &preimage); - if (!write_all(STDOUT_FILENO, pkt, - sizeof(pkt->len) + le32_to_cpu(pkt->len))) + if (!write_all(STDOUT_FILENO, pkt, pkt_totlen(pkt))) err(1, "Writing out packet"); tal_free(ctx); diff --git a/test-cli/update-channel.c b/test-cli/update-channel.c index 62eeb829e..1952857c6 100644 --- a/test-cli/update-channel.c +++ b/test-cli/update-channel.c @@ -63,8 +63,7 @@ int main(int argc, char *argv[]) revocation_hash.u.u8, sizeof(revocation_hash.u.u8)); pkt = update_pkt(ctx, &revocation_hash, this_delta); - if (!write_all(STDOUT_FILENO, pkt, - sizeof(pkt->len) + le32_to_cpu(pkt->len))) + if (!write_all(STDOUT_FILENO, pkt, pkt_totlen(pkt))) err(1, "Writing out packet"); tal_free(ctx);