added a chunk_printable() function (replaces sanitize_chunk)

This commit is contained in:
Martin Willi
2009-07-06 13:15:29 +02:00
parent d692557298
commit f48c3c72f4
2 changed files with 40 additions and 0 deletions
+27
View File
@@ -19,6 +19,7 @@
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
#include <ctype.h>
#include "chunk.h"
@@ -441,6 +442,32 @@ int chunk_compare(chunk_t a, chunk_t b)
return memcmp(a.ptr, b.ptr, len);
};
/**
* Remove non-printable characters from a chunk.
*/
bool chunk_printable(chunk_t chunk, chunk_t *sane, char replace)
{
bool printable = TRUE;
int i;
if (sane)
{
*sane = chunk_clone(chunk);
}
for (i = 0; i < chunk.len; i++)
{
if (!isprint(chunk.ptr[i]))
{
if (sane)
{
sane->ptr[i] = replace;
}
printable = FALSE;
}
}
return printable;
}
/**
* Described in header.
*