As pointed out by claudio@, it makes more sense to talk about characters for fmt instead of bytes.
The .Bl line already was >80 columns, but I don't know how to remedy this situation, so this diff makes that a little worse. martijn@ Index: ober_get_string.3 =================================================================== RCS file: /cvs/src/lib/libutil/ober_get_string.3,v retrieving revision 1.4 diff -u -p -r1.4 ober_get_string.3 --- ober_get_string.3 22 Feb 2021 17:15:02 -0000 1.4 +++ ober_get_string.3 22 Feb 2021 22:08:32 -0000 @@ -87,15 +87,15 @@ to return a valid .Fn ober_scanf_elements retrieves the values from zero or more elements starting at .Fa root . -For each byte in +For each character in .Fa fmt , arguments of the types given in the following table are consumed and passed to the function listed, processing one .Vt ber_element -per byte. -The following bytes are valid: -.Bl -column -offset indent bytes ober_get_enumerated() "1: struct ber_element **" -.It Sy byte Ta Sy function Ta Sy arguments +per character. +The following characters are valid: +.Bl -column -offset indent characters ober_get_enumerated() "1: struct ber_element **" +.It Sy character Ta Sy function Ta Sy arguments .It $ Ta see below Ta 0 .It B Ta Fn ober_get_bitstring Ta 2: Vt void ** , size_t * .It b Ta Fn ober_get_boolean Ta 1: Vt int *