blob: bbb9651e01e8b6e5188d4d14b7a6614371adf6be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
/* ISC license. */
#include <skalibs/fmtscan.h>
#include <skalibs/uint.h>
unsigned int strn_fmt (char *blah, register char const *s, unsigned int len)
{
register char *d = blah ;
unsigned int i ;
for (i = 0 ; i < len ; i++)
if ((s[i] >= 32) && ((unsigned char)s[i] < 127)) *d++ = s[i] ;
else
{
*d++ = '\\' ;
*d++ = '0' ;
*d++ = 'x' ;
if ((unsigned char)s[i] < 16) *d++ = '0' ;
d += uint_xfmt(d, (unsigned char)s[i]) ;
}
return d - blah ;
}
|