Senaka Fernando (JIRA) wrote:
Definition of type axis2_bool_t based on an enumeration
-------------------------------------------------------
Key: AXIS2C-740
URL: https://issues.apache.org/jira/browse/AXIS2C-740
Project: Axis2-C
Issue Type: Improvement
Components: util
Environment: Ubuntu 7.10 (Gutsy Gibbon)
Reporter: Senaka Fernando
Boolean types have only two states.
As C does not have such a type, an alternate mechanism has been used as,
typedef int axis2_bool_t;
Now, legally axis2_bool_t types can have any integer value.
I propose that it should only be limited to two values.
Thus it should be defined as typedef enum {AXIS2_FALSE, AXIS2_TRUE}
axis2_bool_t;
in C, types defined in such a manner do accept any integer value. But, when
compiled using a C++ compiler, it would flag an error which should be the
desired behavior.
Ex:- in C++, axis2_bool_t myVar = 100; would result in, error: invalid
conversion from 'int' to 'axis2_bool_t'
In g++ complier this compiles fine with -Wall -Werror and -ansi options
Damitha.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]