Why the +1 ? As nl is the location of the '\n', nl - promiser is the length of the line, excluding its '\n'; surely you want to exclude the '\n' ?  (Otherwise, I don't understand the point of this patch.)