I'm having a problem with a mapping lookup on the C level. The index is a
string, and even though I know that the mapping that contains the string I
want, I get a null value.
I did a little looking, and it appears that even though the lookup occurrs
on two pike strings of the same length and same characters, they aren't
the same strings. I'm assuming that this is the reason the search is
failing, but I can't imagine why they're not the same string. I've
confirmed that the source strings have the same character values, and it
looks like the hash value is the same.
Any ideas what I'm doing wrong?
Bill
(gdb) print /a classname
$3 = 0x1849c20
(gdb) print *classname
$4 = {
refs = 3,
flags = 4,
size_shift = 0,
len = 10,
hval = 2550908153,
next = 0x1128990,
str = "N"
}
(gdb) print /a classname
$5 = 0x184afd4
(gdb) print *classname
$6 = {
refs = 1,
flags = 4,
size_shift = 0,
len = 10,
hval = 2550908153,
next = 0x1128990,
str = "N"
}