jryannel / qt5-cadaques

Repo for Qt5 Cadaques Project
26 stars 4 forks source link

Order of conditions in Forever loop is wrong #294

Open ScriptDevil opened 9 years ago

ScriptDevil commented 9 years ago

back-link: ch02/index.html#console-application

forever {
        // test for empty string 'QString("")'
        if(line.isEmpty()) { continue;   }

        // test for null string 'String()'
        if(line.isNull()) { break;   }
}

should in reality be

forever {
        // test for null string 'QString()'
        if(line.isNull()) { break;   }

        // test for empty string 'QString("")'
        if(line.isEmpty()) { continue;   }
}

since isEmpty returns true even when the string is null. Your version would lead to an infinite loop. Further it should be QString() and not String().