03/12/92  cv_integer_string_check_

Routine to convert an ASCII string representation of an integer to a
fixed binary (35) representation of that number.  The number may be
positive or negative and may have a trailing radix indicator as its
last character.


Entry points in cv_integer_string_check_:


:Entry: cv_integer_string_check_: 03/12/92  cv_integer_string_check_

Function: accepts an ASCII representation of an integer with a trailing
radix indicator and returns the fixed binary(35) representation of that
number.  This function differs from cv_integer_string_ only in that a
code is returned indicating the possibility of a conversion error.
(See also cv_integer_string_).


Syntax:
declare cv_integer_string_check_ entry (char(*), fixed bin,
     fixed bin(35)) returns (fixed bin(35));
a = cv_integer_string_check_ (string, default_base, code);


Arguments:
string
   is the string to be converted.  The number may be positive or
   negative, and may have a trailing radix indicator as its last
   character.  (Input)
default_base
   is the base to be used if the input string does not have a trailing
   radix indicator.  This base can be one of 2, 8, 10, and 16. (Input)
code
   is a code that equals 0 if no error has occurred; otherwise, it is
   the index of the character of the input string that terminated the
   conversion.  See "Notes" below.  (Output)
a
   is the result of the conversion.  (Output)


List of radix indicators:
b
   the number is interpreted as a base two number (binary).
o
   the number is interpreted as a base eight number (octal).
d
   the number is interpreted as a base ten number (decimal).
r<number>
   the number is interpreted in the base whose number follows the r.
x
   the number is interpreted as a base sixteen number (hexadecimal).


Notes:  Code is not a standard status code and, therefore, cannot be
passed to com_err_ and other subroutines that accept only standard
status codes.

There is a possible ambiguity if the default base is larger than 10 and
the radix indicators b or d are used.  Where the number is ambiguous
(e.g. 13d), it is interpreted as if it had no trailing radix indicator
(i.e. the default base is used).  To avoid this ambiguity, separate the
radix indicator from the number with an underscore (e.g. 13_d).
