[previous] 3917 [next] unsigned char value returned from long %s().
Arithmetic type - Implicit conversions

An expression of type unsigned char is being implicitly converted to type signed long. This is not dangerous unless the two types happen to be implemented in the same number of bits. However implicit type conversions from an unsigned type to a signed type are not recommended.

Implicit type conversions of this nature can occur in the context of:


/*PRQA S 2017,3197,3199,3203,3227,3408,3447,3602,3625 ++*/

extern void ef(signed long f);

extern signed long foo(unsigned char n)
{
    signed long f = n;          /* Message 3717 - Initialization */

    f = n;                      /* Message 3717 - Assignment */

    ef(n);                      /* Message 3717 - Function argument */

    return n;                   /* Message 3917 - Function return */
}

See also:

QA·C Source Code Analyser 8.1.2
© 2013 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index Contents