Messages in this thread |  | | Subject | Re: printk of non NULL terminated strings ? | From | Rasmus Villemoes <> | Date | Thu, 9 Jul 2020 15:30:37 +0200 |
| |
On 09/07/2020 15.26, Joakim Tjernlund wrote: > On Thu, 2020-07-09 at 14:56 +0200, Andreas Schwab wrote: >> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. >> >> >> On Jul 09 2020, Joakim Tjernlund wrote: >> >>> Is there a format (or other function) that lets me >>> print strings without an \0 terminator using an explicit length arg instead? >> >> Use the precision. > > Looking at that now but have a hard time figuring how to use it, can you give me an example?
Exactly as you'd do in userspace:
printf("%.*s\n", len, buf)
Of course, vsnprintf() will still stop if it encounters a nul byte within those first len bytes in buf. And you need len to have type int, so you may need a cast if you have a size_t or ssize_t or whatnot.
Rasmus
|  |