- }
- if ( offset < 0 ) {
- putleaf( P2ICON , -offset , 0 , P2INT , 0 );
- putop( P2MINUS , P2PTR | P2CHAR );
- } else {
- putleaf( P2ICON , offset , 0 , P2INT , 0 );
- putop( P2PLUS , P2PTR | P2CHAR );
- }
- return;
+ putleaf( P2ICON , offset , 0 , ADDTYPE( type , P2PTR )
+ , printname );
+ return;
+ } else {
+ panic( "putLV no name" );
+ }
+ case PARAMVAR:
+ if ( level == cbn ) {
+ putleaf( P2REG , 0 , P2AP , ADDTYPE( type , P2PTR ) , 0 );
+ } else {
+ putleaf( P2NAME , (level * sizeof(struct dispsave)) + AP_OFFSET
+ , 0 , P2PTR | P2CHAR , DISPLAYNAME );
+ }
+ putleaf( P2ICON , offset , 0 , P2INT , 0 );
+ putop( P2PLUS , P2PTR | P2CHAR );
+ break;
+ case LOCALVAR:
+ if ( level == cbn ) {
+ putleaf( P2REG , 0 , P2FP , ADDTYPE( type , P2PTR ) , 0 );
+ } else {
+ putleaf( P2NAME , (level * sizeof(struct dispsave)) + FP_OFFSET
+ , 0 , P2PTR | P2CHAR , DISPLAYNAME );
+ }
+ putleaf( P2ICON , -offset , 0 , P2INT , 0 );
+ putop( P2MINUS , P2PTR | P2CHAR );
+ break;