equal
deleted
inserted
replaced
435 } |
435 } |
436 |
436 |
437 Q3PtrCollection::Item Q3GDict::look_ptr(void *key, Q3PtrCollection::Item d, int op) |
437 Q3PtrCollection::Item Q3GDict::look_ptr(void *key, Q3PtrCollection::Item d, int op) |
438 { |
438 { |
439 Q3PtrBucket *n; |
439 Q3PtrBucket *n; |
440 int index = (int)((ulong)key % vlen); // simple hash |
440 int index = (int)((quintptr)key % vlen); // simple hash |
441 if (op == op_find) { // find |
441 if (op == op_find) { // find |
442 for (n=(Q3PtrBucket*)vec[index]; n; |
442 for (n=(Q3PtrBucket*)vec[index]; n; |
443 n=(Q3PtrBucket*)n->getNext()) { |
443 n=(Q3PtrBucket*)n->getNext()) { |
444 if (n->getKey() == key) |
444 if (n->getKey() == key) |
445 return n->getData(); // item found |
445 return n->getData(); // item found |
648 { |
648 { |
649 if (numItems == 0) // nothing in dictionary |
649 if (numItems == 0) // nothing in dictionary |
650 return 0; |
650 return 0; |
651 Q3PtrBucket *n; |
651 Q3PtrBucket *n; |
652 Q3PtrBucket *prev = 0; |
652 Q3PtrBucket *prev = 0; |
653 int index = (int)((ulong)key % vlen); |
653 int index = (int)((quintptr)key % vlen); |
654 for (n=(Q3PtrBucket *)vec[index]; n; n=(Q3PtrBucket *)n->getNext()) { |
654 for (n=(Q3PtrBucket *)vec[index]; n; n=(Q3PtrBucket *)n->getNext()) { |
655 bool found = (n->getKey() == key); |
655 bool found = (n->getKey() == key); |
656 if (found && d) |
656 if (found && d) |
657 found = (n->getData() == d); |
657 found = (n->getData() == d); |
658 if (found) { |
658 if (found) { |