typedef struct kvpair { unsigned key; struct kvpair *right; } kvpair; kvpair *tsearch(kvpair tree[], unsigned key) { for (;;) { if (!tree || (key == tree->key)) return tree; if (key < tree->key) { tree++; } else { tree = tree->right; } } }