for(;;){
ch=chars[i]
if('a'<=ch && ch <= 'z') return i
if(i == 2000) return -1
}

を

for(;;){
ch=chars[i]
if('a'<=ch && ch <= 'z') return i
if(ch == '\0') return -1
}

にしたところで速くなるのか...?