Avoid memory access errors if llength() overflows

llength() is currently a 'short' which can overflow and result in signed
numbers if line lengths are larger than 32k.  We'll fix the overflow
separately, but before we do that, just use a signed int to hold the
value so that we don't overrun memory allocations when we converted that
negative number to a large positive unsigned integer.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Stop using 'short' for line and allocation sizes

Yes, yes, it probably made sense 30 years ago as a way to save a tiny
amount of memory, but especially when interspersed in structures that
have pointers (aligned to 64 bits these days), it's not even saving
memory today.  And it makes us fail in nasty ways when looking at files
with long lines.

So just make them 'int'.  And if you have a line that is longer than
2GB, you only have yourself to blame.  I no longer care.

In case anybody care, the "test-case" for this was a lovely UDDF file
with a binary divecomputer dump encoded as an XML element.  Resulting in
a lovely 41kB single line.  Not what poor micro-emacs was designed for,
I'm afraid.

I really should just learn another editor, rather than continue to
polish this turd.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>