Re: printk of non NULL terminated strings ?
On Thu, 2020-07-09 at 15:30 +0200, Rasmus Villemoes wrote: > 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. Thanks, this did the trick :)
Re: printk of non NULL terminated strings ?
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
Re: printk of non NULL terminated strings ?
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? Jocke
Re: printk of non NULL terminated strings ?
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. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
printk of non NULL terminated strings ?
Is there a format (or other function) that lets me print strings without an \0 terminator using an explicit length arg instead? Something like: printk("%s...", str, str_len); /* replace ... */ or some other funktion perhaps ? Jocke