On May 06 12:46, Volkan YAZICI wrote: > I'm reading through the source code of intarray contrib module. Despite > being at the beginning, I've some questions to ask. I'd be so > appreciated if anybody can help. Sorry, I forgot one: [4] In the inner_int_contains() function of _int_tool.c, there's a while loop like [Code assumes that arrays are sorted.] na = ARRNELEMS(a); nb = ARRNELEMS(b); da = ARRPTR(a); db = ARRPTR(b); i = j = n = 0; while (i < na && j < nb) if (da[i] < db[j]) i++; else if (da[i] == db[j]) { n++; i++; j++; } else j++; return (n == nb) ? TRUE : FALSE; AFAICS, last "j++" should be replaced with "return FALSE". Because, "n" cannot be equal to "nb" no more, if "j" gets incremented without incrementing "n" (remember "j < nb" in the "while" condition). Regards.