for(;;)
{
- switch((s >= end) ? 0 : *s)
+ switch((s == end) ? 0 : *s)
{
case 0:
if(valid)
++len; // the character
break;
}
+ ++s;
continue;
default:
break;
return len;
}
- if(s + st + ln >= end)
+ if(end && s + st + ln > end)
{
// string length exceeded by new character
if(valid)