small fix checknodefalgs

This commit is contained in:
Alexey Khromov 2025-03-23 20:36:07 +03:00
parent 8db2ee4260
commit de6ef3936b

View File

@ -57,22 +57,23 @@ int nodelist_checkflag(const char *nodeflags, const char *flag)
char *q; char *q;
DEB((D_NODELIST, "nodelist: checking flag \"%s\" in flags \"%s\"", flag, nodeflags)); DEB((D_NODELIST, "nodelist: checking flag \"%s\" in flags \"%s\"", flag, nodeflags));
if ( nodeflags ) {
while( p = strcasestr(searchbase, flag) ) // p - found flag while( p = strcasestr(searchbase, flag) ) // p - found flag
{
if( (p == searchbase) || (p != searchbase && *(p-1) == ',') )
{ {
if( (q = strchr(p, ',')) == NULL || (q - p) == strlen(flag) ) { if( (p == searchbase) || (p != searchbase && *(p-1) == ',') )
DEB((D_NODELIST, "nodelist: found flag %s", flag)); {
return 0; 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) ) {
DEB((D_NODELIST, "nodelist: found flag %s", flag));
return 0;
}
} }
if( (strchrnul(p, ':') - p) == strlen(flag) ) {
DEB((D_NODELIST, "nodelist: found flag %s", flag));
return 0;
}
}
searchbase = p + 1; // avoid finding again the same searchbase = p + 1; // avoid finding again the same
}
} }
return 1; return 1;