confread diag
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user