| 540 | return 0; |
| 541 | } |
| 542 | void doMap(mbl_array_t* mba) |
| 543 | { |
| 544 | MSG_UF4(("[I] %d key compare/assign\n", (int)keys.size())); |
| 545 | int prev = 0; |
| 546 | int idx = 0; |
| 547 | for (auto& k : keys) { |
| 548 | if (k.first >= 0) |
| 549 | break; |
| 550 | if (prev != k.first) |
| 551 | --idx; |
| 552 | prev = k.first; |
| 553 | } |
| 554 | |
| 555 | prev = 0; |
| 556 | for (auto& k : keys) { |
| 557 | int cur = k.first; |
| 558 | if (prev && cur != prev) |
| 559 | ++idx; |
| 560 | prev = cur; |
| 561 | |
| 562 | qstring s; k.second->print(&s); tag_remove(&s); |
| 563 | MSG_UF4(("[I] %a: key %d (%d) : %s\n", k.second->ea, k.first, idx, s.c_str())); |
| 564 | #if 0 |
| 565 | mop_t* num = &k.second->r; |
| 566 | if (k.second->opcode == m_mov) |
| 567 | num = &k.second->l; |
| 568 | QASSERT(100503, num->t == mop_n); |
| 569 | num->nnn->update_value((unsigned int)idx); |
| 570 | #endif |
| 571 | } |
| 572 | |
| 573 | //doesnt work |
| 574 | //for (int i = 0; i < mba->qty; ++i) |
| 575 | // mba->get_mblock(i)->flags &= ~MBL_VALRANGES; |
| 576 | } |
| 577 | }; |
| 578 | #endif |
| 579 | |