return parse_condition(s, sidx);
++sidx;
- while (s[sidx]) {
+ while (s[sidx][0]) {
char buf[BUFSZ], **subfields;
int sf = 0; /* subfield count */
int kidx;
percent = numeric = always = FALSE;
down = up = changed = FALSE;
gt = ge = eq = le = lt = txtval = FALSE;
-
- /* threshold value */
+#if 0
+ /* threshold value - return on empty string */
if (!s[sidx][0])
return TRUE;
-
+#endif
memset((genericptr_t) &hilite, 0, sizeof (struct hilite_s));
hilite.set = FALSE; /* mark it "unset" */
hilite.fld = fld;
else {
int c = match_str2clr(subfields[i]);
- if (c >= CLR_MAX || coloridx != -1)
+ if (c >= CLR_MAX || coloridx != -1) {
+ config_error_add("bad color '%d %d'", c, coloridx);
return FALSE;
+ }
coloridx = c;
}
}
sidx++;
}
- return TRUE;
+ return (successes > 0);
}
#endif /* STATUS_HILITES */
int coloridx = NO_COLOR;
char *tmp, *how;
unsigned long conditions_bitmask = 0UL;
- boolean success = FALSE;
+ boolean result = FALSE;
if (!s)
return FALSE;
*/
sidx++;
- while(s[sidx]) {
+ if (!s[sidx][0]) {
+ config_error_add("Missing condition(s)");
+ return FALSE;
+ }
+ while (s[sidx][0]) {
int sf = 0; /* subfield count */
char buf[BUFSZ], **subfields;
tmp = s[sidx];
- if (!*tmp) {
- if (!success)
- config_error_add("Missing condition(s)");
- return success;
- }
-
Strcpy(buf, tmp);
conditions_bitmask = str2conditionbitmask(buf);
} else {
int k = match_str2clr(subfields[i]);
- if (k >= CLR_MAX)
+ if (k >= CLR_MAX) {
+ config_error_add("bad color %d", k);
return FALSE;
+ }
coloridx = k;
}
}
condition array according to color chosen as index */
g.cond_hilites[coloridx] |= conditions_bitmask;
- success = TRUE;
+ result = TRUE;
sidx++;
}
- return TRUE;
+ return result;
}
void