cg_name CharItemLen( sym_id sym ) { //================================= // Get element size for character*(*) variables, functions and arrays. if( sym->ns.flags & SY_SUBSCRIPTED ) { return( CharArrLength( sym ) ); } else { return( SCBLength( SymAddr( sym ) ) ); } }
static cg_name CharArrLength( sym_id sym ) { //========================================== // Get element size for character*(*) arrays. if( sym->u.ns.flags & SY_VALUE_PARM ) { return( CGInteger( 0, TY_INTEGER ) ); } else if( Options & OPT_DESCRIPTOR ) { return( SCBLength( CGUnary( O_POINTS, CGFEName( sym, TY_POINTER ), TY_POINTER ) ) ); } else { return( CGUnary( O_POINTS, CGFEName( FindArgShadow( sym ), TY_INTEGER ), TY_INTEGER ) ); } }