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]

Reply via email to