int LYLoadKeymap( char *arg, HTParentAnchor *anAnchor, HTFormat format_out, HTStream *sink ) { HTFormat format_in = HTAtom_for( "text/html" ); HTStream *target; char *buf = 0; int i; target = HTStreamStack( format_in, format_out, &sink[0]._HTStream, anAnchor ); if ( target == 0 || target == 0 ) { HTSprintf0( &buf, gettext( "Sorry, no known way of converting %s to %s." ), format_in->name, format_out->name ); HTAlert( buf ); if ( buf ) { free( buf ); buf = 0; } return -29999; } else { anAnchor->no_cache = 1; HTSprintf0( &buf, "<html>\n<head>\n<title>%s</title>\n</head>\n<body>\n", gettext( "Current Key Map" ) ); ebx( target, buf, strlen( buf ) ); HTSprintf0( &buf, "<pre>\n" ); ebx( target, buf, strlen( buf ) ); i = 98; for ( ; i <= 123; i++ ) { print_binding( target, i, 1 ); // i++; } i = 1; for ( ; i <= 660; i++ ) { if ( ( i > 127 || i <= 32 || !( *(short*)(*(int*)(__ctype_b_loc( )) + ( ( i + -1 ) * 2 )) & 1024 ) ) && ( LYUseMouse || keymap[ i ] != 84 ) ) print_binding( target, i, 0 ); // i++; } HTSprintf0( &buf, "</pre>\n</body>\n</html>\n" ); ebx( target, buf, strlen( buf ) ); ; } }
void print_binding( HTStream *target, int i, BOOLEAN both ) { char *buf; LYKeymapCode lac1 = LYK_UNKNOWN; if ( prev_lynx_edit_mode && no_dired_support == 0 ) { lac1 = key_override[ i ]; if ( lac1 ) { buf = format_binding( key_override, i ); if ( buf ) { ebx( target, buf, strlen( buf ) ); if ( buf ) { free( buf ); buf = 0; if ( both ) { i += -32; if ( prev_lynx_edit_mode && !no_dired_support && ( key_override[ i ] & 65535 ) ) { if ( key_override[ i ] != lac1 ) { buf = format_binding( key_override, i ); if ( buf ) { ebx( target, buf, strlen( buf ) ); if ( buf ) { free( buf ); buf = 0; } } } } else if ( keymap[ i ] != lac1 ) { buf = format_binding( keymap, i ); if ( buf ) { ebx( target, buf, strlen( buf ) ); if ( buf ) { free( buf ); buf = 0; } } } } return; } } } } buf = format_binding( keymap, i ); if ( buf ) { lac1 = keymap[ i ]; ebx( target, buf, strlen( buf ) ); if ( buf ) { free( buf ); buf = 0; } } }
void *QueryInputAndChangeObjectName( int Type, void *Ptr1, void *Ptr2, void *Ptr3 ) { int eax; int ecx; int edx; char *name; char msg[513]; if ( Type != 1024 ) { switch ( Type ) { case 2: break; case 4: gui->prompt_for( "Linename:", ((char*)Ptr2)[84] == 0 ? ((char*)Ptr2)[84] : "" ); break; case 1: gui->prompt_for( "Vianame:", ((char*)Ptr2)[60] == 0 ? ((char*)Ptr2)[60] : "" ); break; case 256: __sprintf_chk( msg, 1, 513, "%s Pin Name:", ((char*)Ptr2)[64] == 0 ? &((char*)Ptr2)[64] : "" ); ebp( msg[0], ((char*)Ptr2)[88] == 0 ? ((char*)Ptr2)[88] : "", gui->prompt_for ); break; case 512: __sprintf_chk( msg, 1, 513, "%s Pad Name:", ((char*)Ptr2)[92] == 0 ? &((char*)Ptr2)[92] : "" ); ebp( msg[0], ((char*)Ptr2)[88] == 0 ? ((char*)Ptr2)[88] : "", gui->prompt_for ); break; case 16: gui->prompt_for( "Enter text:", ((char*)Ptr2)[52] == 0 ? ((char*)Ptr2)[52] : "" ); break; default: Ptr3 = 0; if ( 0 ^ 0 ) { __stack_chk_fail( ); } return Ptr3; break; } if ( name == 0 ) continue; else { /* phantom */ char *old; if ( ChangeObjectName( Type, Ptr1, Ptr2, Ptr3, name ) != -1 ) { AddObjectToChangeNameUndoList( Type, Ptr1, Ptr2, Ptr3, (char*)ChangeObjectName( Type, Ptr1, Ptr2, Ptr3, name ) ); IncrementUndoSerialNumber( ); } Draw( ); } } else { Ptr3 = Ptr1; Ptr2 = Ptr1; } if ( ((char*)Ptr2)[88] == 0 ) goto B22; else { } B22:; ebx( "Elementname:", ((char*)Ptr2)[88], PCB->Flags.f & 64, Ptr1 ); Type = 2; }