fix off-by-one error in split()