version 1.1, 2009/06/01 22:58:49 |
version 1.2, 2009/06/03 19:37:27 |
|
|
(int) (last - first), buf + first, last == len ? "" : "..."); |
(int) (last - first), buf + first, last == len ? "" : "..."); |
return (s); |
return (s); |
} |
} |
|
|
/* Clean string of invisible characters. */ |
|
void |
|
clean_string(const char *in, char *buf, size_t len) |
|
{ |
|
const u_char *cp; |
|
size_t off; |
|
|
|
off = 0; |
|
for (cp = in; *cp != '\0'; cp++) { |
|
if (off >= len) |
|
break; |
|
if (*cp >= 0x20 && *cp <= 0x7f) |
|
buf[off++] = *cp; |
|
else |
|
off += xsnprintf(buf + off, len - off, "\\%03hho", *cp); |
|
} |
|
if (off < len) |
|
buf[off] = '\0'; |
|
} |
|