| 249 | } |
| 250 | |
| 251 | char* fxGetKeyString(txMachine* the, txID theID, txBoolean* adorn) |
| 252 | { |
| 253 | txString result = mxEmptyString.value.string; |
| 254 | txSlot* key = fxGetKey(the, theID); |
| 255 | txKind kind = key->kind; |
| 256 | if ((kind == XS_KEY_KIND) || (kind == XS_KEY_X_KIND)) |
| 257 | result = key->value.key.string; |
| 258 | else if (key->kind == XS_REFERENCE_KIND) { |
| 259 | key = key->value.reference->next->next; |
| 260 | if (key->kind != XS_UNDEFINED_KIND) |
| 261 | result = key->value.string; |
| 262 | } |
| 263 | if (adorn) |
| 264 | *adorn = (key->flag & XS_DONT_ENUM_FLAG) ? 0 : 1; |
| 265 | return result; |
| 266 | } |
| 267 | |
| 268 | void fxPushKeyString(txMachine* the, txID theID, txBoolean* adorn) |
| 269 | { |
no test coverage detected