Your system's char
type is signed, which is why values thereof can be negative.
You need to be explicit and drop the sign:
const unsigned char value = (unsigned char) line[0];
Note that -119 = 137 in two's complement which your machine seems to be using. So the bits themselves really are correct, it's all about interpreting them properly.