| 2503 | } |
| 2504 | |
| 2505 | void fxLogin(txMachine* the) |
| 2506 | { |
| 2507 | if (!fxIsConnected(the)) { |
| 2508 | fxConnect(the); |
| 2509 | if (!fxIsConnected(the)) |
| 2510 | return; |
| 2511 | } |
| 2512 | fxEchoStart(the); |
| 2513 | fxEcho(the, "<login name=\""); |
| 2514 | if (the->name) |
| 2515 | fxEchoString(the, the->name); |
| 2516 | else |
| 2517 | fxEchoString(the, "xslib"); |
| 2518 | fxEcho(the, "\" value=\""); |
| 2519 | fxEcho(the, "XS "); |
| 2520 | fxEchoInteger(the, XS_MAJOR_VERSION); |
| 2521 | fxEcho(the, "."); |
| 2522 | fxEchoInteger(the, XS_MINOR_VERSION); |
| 2523 | fxEcho(the, "."); |
| 2524 | fxEchoInteger(the, XS_PATCH_VERSION); |
| 2525 | fxEcho(the, " "); |
| 2526 | fxEchoInteger(the, (txInteger)(sizeof(txSlot*)*8)); |
| 2527 | fxEcho(the, "-bit "); |
| 2528 | #if mxBigEndian |
| 2529 | fxEcho(the, "BE "); |
| 2530 | #else |
| 2531 | fxEcho(the, "LE "); |
| 2532 | #endif |
| 2533 | fxEchoInteger(the, (txInteger)(sizeof(txID)*8)); |
| 2534 | fxEcho(the, "-bit ID\" flags=\"e"); |
| 2535 | fxEcho(the, "\"/>"); |
| 2536 | fxEchoStop(the); |
| 2537 | #if mxAliasInstance |
| 2538 | { |
| 2539 | txSlot* slot = &mxGlobal; |
| 2540 | if (mxIsReference(slot)) { |
| 2541 | slot = slot->value.reference->value.instance.prototype; |
| 2542 | if (slot != mxObjectPrototype.value.reference) |
| 2543 | fxToggle(the, slot); |
| 2544 | } |
| 2545 | slot = &mxCompartmentGlobal; |
| 2546 | if (mxIsReference(slot)) { |
| 2547 | slot = slot->value.reference->value.instance.prototype; |
| 2548 | if (slot != mxObjectPrototype.value.reference) |
| 2549 | fxToggle(the, slot); |
| 2550 | } |
| 2551 | } |
| 2552 | #endif |
| 2553 | fxDebugCommand(the); |
| 2554 | } |
| 2555 | |
| 2556 | void fxLogout(txMachine* the) |
| 2557 | { |
no test coverage detected