int find_node(table_of_sons *children, const wchar_t letter) { size_t start = 0; size_t check; size_t end = children->size-1; while (start < end) { check = (start+end)/2; if (wcscoll(&letter, &children->nodes[check]->letter) > 0) start = check+1; else end = check; } if (wcscoll(&children->nodes[check]->letter, &letter) == 0) return start; else return -1; }