46 for (uint32_t u = 0; u < buflen; u++) {
64 for (uint32_t u = 0; u < buflen; u++) {
71 #define BUFFER_LENGTH 2048
75 for (uint32_t u = 0; u < buflen; u++) {
76 if (buf[u] ==
'\\' || buf[u] ==
'/' || buf[u] ==
'\"') {
79 }
else if (isprint(buf[u])) {
87 fprintf(fp,
"%s", nbuf);
92 #define BUFFER_LENGTH 2048
96 for (uint32_t u = 0; u < buflen; u++) {
97 if (isprint(buf[u]) && buf[u] !=
'\"') {
111 fprintf(fp,
"%s", nbuf);
115 uint8_t *buf, uint32_t buflen)
117 for (uint32_t u = 0; u < buflen; u++) {
118 if (isprint(buf[u]) && buf[u] !=
'\"') {
119 if (buf[u] ==
'\\') {
140 fprintf(fp,
" (null)\n");
143 for (uint32_t u = 0; u < buflen; u += 16) {
144 fprintf(fp ,
" %04X ", u);
145 for (ch = 0; (u+ch) < buflen && ch < 16; ch++) {
146 fprintf(fp,
"%02X ", (uint8_t)buf[u+ch]);
148 if (ch == 7) fprintf(fp,
" ");
150 if (ch == 16) fprintf(fp,
" ");
152 int spaces = (16 - ch) * 3 + 2 + 1;
154 for ( ; s < spaces; s++) fprintf(fp,
" ");
156 int spaces = (16 - ch) * 3 + 2;
158 for ( ; s < spaces; s++) fprintf(fp,
" ");
161 for (ch = 0; (u+ch) < buflen && ch < 16; ch++) {
162 fprintf(fp,
"%c", isprint((uint8_t)buf[u+ch]) ? (uint8_t)buf[u+ch] :
'.');
164 if (ch == 7) fprintf(fp,
" ");
165 if (ch == 15) fprintf(fp,
"\n");
173 const uint8_t *src_buf, uint32_t src_buf_len)
177 for (uint32_t u = 0; u < src_buf_len; u += 16) {
180 for (ch = 0; (u + ch) < src_buf_len && ch < 16; ch++) {
182 "%02X ", (uint8_t)src_buf[u + ch]);
190 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
192 int spaces = (16 - ch) * 3 + 2 + 1;
194 for ( ; s < spaces; s++)
195 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
197 int spaces = (16 - ch) * 3 + 2;
199 for ( ; s < spaces; s++)
200 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
203 for (ch = 0; (u+ch) < src_buf_len && ch < 16; ch++) {
206 isprint((uint8_t)src_buf[u + ch]) ? (uint8_t)src_buf[u + ch] :
'.');
209 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
" ");
211 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
"\n");
215 PrintBufferData((
char *)dst_buf, dst_buf_offset_ptr, dst_buf_size,
"\n");
221 const uint8_t *src_buf,
const uint32_t src_buf_len)
223 for (uint32_t ch = 0; ch < src_buf_len && *dst_buf_offset_ptr < dst_buf_size;
224 ch++, (*dst_buf_offset_ptr)++) {
225 if (isprint((uint8_t)src_buf[ch]) || src_buf[ch] ==
'\n' || src_buf[ch] ==
'\r') {
226 dst_buf[*dst_buf_offset_ptr] = src_buf[ch];
228 dst_buf[*dst_buf_offset_ptr] =
'.';
231 dst_buf[dst_buf_size - 1] = 0;
237 # define s6_addr16 __u6_addr.__u6_addr16
240 static const char *PrintInetIPv6(
const void *
src,
char *
dst, socklen_t size)
251 memset(
dst, 0, size);
252 for (
int i = 0; i < 8; i++) {
253 snprintf(s_part,
sizeof(s_part),
"%04x:", htons(x[i]));
266 #if defined(OS_WIN32) && NTDDI_VERSION >= NTDDI_VISTA
271 memcpy(&_src,
src,
sizeof(
struct in_addr));
272 return inet_ntop(
af, &_src,
dst, size);
275 return inet_ntop(
af,
src,
dst, size);
279 return PrintInetIPv6(
src,
dst, size);
289 rs_to_hex((uint8_t *)
str, size, buf, buf_len);