--- sourceforge.net/trunk/seamlessrdp/ServerExe/vchannel.c 2006/03/10 09:12:36 1091 +++ sourceforge.net/trunk/seamlessrdp/ServerExe/vchannel.c 2006/03/10 16:40:57 1113 @@ -32,6 +32,9 @@ #define CHANNELNAME "seamrdp" +#define INVALID_CHARS "," +#define REPLACEMENT_CHAR '_' + static HANDLE g_mutex = NULL; static HANDLE g_vchannel = NULL; @@ -47,6 +50,8 @@ _vsnprintf(buf + sizeof("DEBUG,") - 1, sizeof(buf) - sizeof("DEBUG,") + 1, format, argp); va_end(argp); + vchannel_strfilter(buf + sizeof("DEBUG,")); + vchannel_write(buf); } @@ -202,3 +207,17 @@ { ReleaseMutex(g_mutex); } + +const char * +vchannel_strfilter(char *string) +{ + char *c; + + for (c = string; *c != '\0'; c++) + { + if ((*c < 0x20) || (strchr(INVALID_CHARS, *c) != NULL)) + *c = REPLACEMENT_CHAR; + } + + return string; +}