[hobbit] Alert Config Issues
Henrik Stoerner
henrik at hswn.dk
Mon May 23 08:24:32 CEST 2005
On Mon, May 23, 2005 at 03:49:41PM +1200, Andy France wrote:
> I'm starting to suspect it is to do with the order of the arguments, or
> maybe whitespace issues. Or, God forbid, oddball control characters which
> have somehow ended up in the file.
Try this patch - it will complain loudly in the page.log file if it
finds high-ascii (> 0x7f) characters in the file, and then drop them
from the input.
Henrik
-------------- next part --------------
--- lib/misc.c 2005/05/20 20:54:08 1.32
+++ lib/misc.c 2005/05/23 06:19:20
@@ -209,14 +209,15 @@
return result;
}
-void grok_input(char *l)
+void grok_input(unsigned char *l)
{
/*
* This routine sanitizes an input line, stripping off whitespace,
* removing comments and un-escaping \-escapes and quotes.
*/
- char *p, *outp;
+ unsigned char *p, *outp;
int inquote, inhyphen;
+ int didwarn = 0;
p = strchr(l, '\n'); if (p) *p = '\0';
@@ -238,6 +239,13 @@
else if ((*p == '#') && !inquote && !inhyphen) {
*p = '\0';
}
+ else if (*p > 0x7f) {
+ if (!didwarn) {
+ errprintf("Hi-ASCII character %02x dropped from input line '%s'\n", (int)*p, l);
+ didwarn = 1;
+ }
+ p++;
+ }
else {
if (outp != p) *outp = *p;
outp++; p++;
--- lib/misc.h 2005/05/20 20:54:08 1.18
+++ lib/misc.h 2005/05/23 06:06:27
@@ -24,7 +24,7 @@
extern void addtobuffer(char **buf, int *bufsz, char *newtext);
extern char *msg_data(char *msg);
extern char *gettok(char *s, char *delims);
-extern void grok_input(char *s);
+extern void grok_input(unsigned char *s);
extern unsigned int IPtou32(int ip1, int ip2, int ip3, int ip4);
extern char *u32toIP(unsigned int ip32);
extern const char *textornull(const char *text);
More information about the Xymon
mailing list