confread diag

This commit is contained in:
zx
2025-03-23 20:21:50 +03:00
parent 25081b1bae
commit 8db2ee4260
4 changed files with 139 additions and 126 deletions
+11 -5
View File
@@ -19,11 +19,15 @@
s_cval_entry *conf_first(bforce_config_keyword keyword)
{
s_cval_entry *ptrl;
DEB((D_CONFIG, "conf_first entry nr %d",(int16_t)keyword));
for( ptrl = bforce_config[keyword].data; ptrl; ptrl = ptrl->next )
if( !ptrl->expr.expr || eventexpr(&ptrl->expr) )
if( !ptrl->expr.expr || eventexpr(&ptrl->expr) ) {
DEB((D_CONFIG, "conf_first ptrl found"));
return ptrl;
}
DEB((D_CONFIG, "conf_first ptrl not found"));
return NULL;
}
@@ -32,9 +36,11 @@ s_cval_entry *conf_next(s_cval_entry *ptrl)
ASSERT(ptrl);
for( ptrl = ptrl->next; ptrl; ptrl = ptrl->next )
if( !ptrl->expr.expr || eventexpr(&ptrl->expr) )
if( !ptrl->expr.expr || eventexpr(&ptrl->expr) ) {
DEB((D_CONFIG, "conf_next ptrl found"));
return ptrl;
}
DEB((D_CONFIG, "conf_next ptrl not found"));
return NULL;
}
@@ -91,7 +97,7 @@ long conf_number(bforce_config_keyword keyword)
s_override *conf_override(bforce_config_keyword keyword, s_faddr addr)
{
s_cval_entry *ptrl;
DEB((D_CONFIG, "conf_override entry"));
for( ptrl = conf_first(keyword); ptrl; ptrl = conf_next(ptrl) )
if( !ftn_addrcomp(ptrl->d.override.addr, addr) )
return &ptrl->d.override;
+10 -4
View File
@@ -56,14 +56,20 @@ int nodelist_checkflag(const char *nodeflags, const char *flag)
const char *searchbase = nodeflags;
char *q;
while( p = strstr(searchbase, flag) )
DEB((D_NODELIST, "nodelist: checking flag \"%s\" in flags \"%s\"", flag, nodeflags));
while( p = strcasestr(searchbase, flag) ) // p - found flag
{
if( p == searchbase || *(p-1) == ',' )
if( (p == searchbase) || (p != searchbase && *(p-1) == ',') )
{
if( (q = strchr(p, ',')) == NULL || (q - p) == strlen(flag) )
if( (q = strchr(p, ',')) == NULL || (q - p) == strlen(flag) ) {
DEB((D_NODELIST, "nodelist: found flag %s", flag));
return 0;
if( (strchrnul(p, ':') - p) == strlen(flag) )
}
if( (strchrnul(p, ':') - p) == strlen(flag) ) {
DEB((D_NODELIST, "nodelist: found flag %s", flag));
return 0;
}
}
searchbase = p + 1; // avoid finding again the same
+1
View File
@@ -721,6 +721,7 @@ case BPMSG_ADR: /* List of addresses */
for(i = 0; i < state.n_remoteaddr; i++) {
ovr.sFlags = "";
override_get (&ovr, state.remoteaddrs[i].addr, 0);
DEB((D_24554, "got adr overrides"));
if (nodelist_checkflag (ovr.sFlags, "NR")==0) {
strcat (bstate->extracmd+1, " NR");
break;