bio->num_write aka BIO_number_written(bio). Straightforward. The main reason I'm asking is that keeping the two else results in overlong lines and awkward line wrapping. So I decided to drop them hoping that's acceptable. Otherwise please tell me the preferred way to wrap the lines in this part of the tree.
Index: revokeproc.c =================================================================== RCS file: /cvs/src/usr.sbin/acme-client/revokeproc.c,v retrieving revision 1.18 diff -u -p -r1.18 revokeproc.c --- revokeproc.c 13 Oct 2021 18:09:42 -0000 1.18 +++ revokeproc.c 21 Nov 2021 23:07:37 -0000 @@ -186,15 +186,17 @@ revokeproc(int fd, const char *certfile, if (bio == NULL) { warnx("BIO_new"); goto out; - } else if (!X509V3_EXT_print(bio, ex, 0, 0)) { + } + if (!X509V3_EXT_print(bio, ex, 0, 0)) { warnx("X509V3_EXT_print"); goto out; - } else if ((san = calloc(1, bio->num_write + 1)) == NULL) { + } + if ((san = calloc(1, BIO_number_written(bio) + 1)) == NULL) { warn("calloc"); goto out; } - ssz = BIO_read(bio, san, bio->num_write); - if (ssz < 0 || (unsigned)ssz != bio->num_write) { + ssz = BIO_read(bio, san, BIO_number_written(bio)); + if (ssz < 0 || (unsigned)ssz != BIO_number_written(bio)) { warnx("BIO_read"); goto out; }