- if ( opt( 't' ) && ( -sizes[ cbn ].om_max ) > DPOFF1 ) {
- putleaf( P2ICON , 0 , 0 , ADDTYPE( P2FTN | P2INT , P2PTR )
- , "_ZFRAME" );
- putleaf( P2ICON , ( -sizes[ cbn ].om_max ) - DPOFF1
- , 0 , P2INT , 0 );
- putLV( 0 , cbn , sizes[ cbn ].om_max , P2CHAR );
- putop( P2LISTOP , P2INT );
- putop( P2CALL , P2INT );
- putdot( filename , line );
+ if ( opt( 't' ) ) {
+ if ( ( -sizes[ cbn ].om_max ) > DPOFF1 ) {
+ putleaf( P2ICON , 0 , 0 , ADDTYPE( P2FTN | P2INT , P2PTR )
+ , "_ZFRAME" );
+ putleaf( P2ICON , ( -sizes[ cbn ].om_max ) - DPOFF1
+ , 0 , P2INT , 0 );
+ putLV( 0 , cbn , sizes[ cbn ].om_max , P2CHAR );
+ putop( P2LISTOP , P2INT );
+ putop( P2CALL , P2INT );
+ putdot( filename , line );
+ }
+ /*
+ * check number of longs of arguments
+ * this can only be wrong for formal calls.
+ */
+ if ( fp -> class != PROG ) {
+ putleaf( P2ICON , 0 , 0 , ADDTYPE( P2PTR , P2FTN | P2INT ) ,
+ "_NARGCHK" );
+ putleaf( P2ICON ,
+ (fp->value[NL_OFFS] - DPOFF2) / sizeof(long) ,
+ 0 , P2INT , 0 );
+ putop( P2CALL , P2INT );
+ putdot( filename , line );
+ }