diff --git a/ChangeLog b/ChangeLog index f958c0cf..270bba26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18655,3 +18655,5 @@ 2019-05-09 Patrick Linstruth * Added second schedule code filter to rdlibrary(1). * Change rdlibrary(1) minimum width from 850 to 1000. +2019-05-09 Patrick Linstruth + * Fixed regression in scheduler when using two schedule codes. diff --git a/lib/rdevent_line.cpp b/lib/rdevent_line.cpp index 31d4018a..de0f804a 100644 --- a/lib/rdevent_line.cpp +++ b/lib/rdevent_line.cpp @@ -656,7 +656,12 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname, // Reduce schedCL to match requested scheduler code if(event_have_code!=""||event_have_code2!="") { QStringList codes; - codes << event_have_code << event_have_code2; + if(event_have_code!="") { + codes << event_have_code; + } + if(event_have_code2!="") { + codes << event_have_code2; + } for(counter=0;countergetNumberOfItems();counter++) { if(!schedCL->itemHasCodes(counter,codes)) { schedCL->removeItem(counter); @@ -890,8 +895,7 @@ bool RDEventLine::generateLog(QString logname,const QString &svcname, // // Pick a random cart from those that are remaining. // - int r=rand(); - int schedpos=r%schedCL->getNumberOfItems(); + int schedpos=rand()%schedCL->getNumberOfItems(); sql=QString("insert into LOG_LINES set ")+ "LOG_NAME=\""+RDEscapeString(logname)+"\","+ QString().sprintf("LINE_ID=%d,",count)+ diff --git a/lib/rdschedcartlist.cpp b/lib/rdschedcartlist.cpp index 56d06aae..c582bbeb 100644 --- a/lib/rdschedcartlist.cpp +++ b/lib/rdschedcartlist.cpp @@ -74,12 +74,14 @@ bool RDSchedCartList::itemHasCode(int itemnumber,const QString &test_code) bool RDSchedCartList::itemHasCodes(int itemnumber,const QStringList &test_codes) { + int matches=0; + for(int i=0;i