#include "expect_cf.h"
#include "tcl.h"
#ifdef NO_STDLIB_H
#include "../compat/stdlib.h"
#else
#include <stdlib.h>
#endif
#include <ctype.h>
char *
exp_printify(s)
char *s;
{
static int destlen = 0;
static char *dest = 0;
char *d;
unsigned int need;
if (s == 0) return("<null>");
need = strlen(s)*4 + 1;
if (need > destlen) {
if (dest) ckfree(dest);
dest = ckalloc(need);
destlen = need;
}
for (d = dest;*s;s++) {
if (*s == '\r') {
strcpy(d,"\\r"); d += 2;
} else if (*s == '\n') {
strcpy(d,"\\n"); d += 2;
} else if (*s == '\t') {
strcpy(d,"\\t"); d += 2;
} else if (isascii(*s) && isprint(*s)) {
*d = *s; d += 1;
} else {
sprintf(d,"\\x%02x",*s & 0xff); d += 4;
}
}
*d = '\0';
return(dest);
}