Mercurial > hg > octave-nkf
diff src/ov-scalar.cc @ 4100:ed0090ecf80f
[project @ 2002-10-11 16:37:45 by jwe]
author | jwe |
---|---|
date | Fri, 11 Oct 2002 16:37:45 +0000 |
parents | 47d3baea432d |
children | 5719210fff4c |
line wrap: on
line diff
--- a/src/ov-scalar.cc +++ b/src/ov-scalar.cc @@ -85,9 +85,18 @@ ::error ("invalid conversion from NaN to character"); else { - // XXX FIXME XXX -- warn about out of range conversions? - - retval = octave_value (std::string (1, char (NINT (scalar)))); + int ival = NINT (scalar); + + if (ival < 0 || ival > UCHAR_MAX) + { + // XXX FIXME XXX -- is there something better we could do? + + ival = 0; + + ::warning ("range error for conversion to character value"); + } + + retval = octave_value (std::string (1, static_cast<char> (ival))); } return retval;