/*
- * Copyright (c) 2015, Intel Corporation
+ * Copyright (c) 2015-2016, Intel Corporation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
bool flip_case(unichar *c) {
assert(c);
- const unicase *const uc_begin = ucp_caseless_def;
- const unicase *const uc_end =
- ucp_caseless_def + ARRAY_LENGTH(ucp_caseless_def);
-
const unicase test = { *c, 0 };
- const unicase *f = lower_bound(uc_begin, uc_end, test);
- if (f->base == *c) {
+
+ const auto uc_begin = begin(ucp_caseless_def);
+ const auto uc_end = end(ucp_caseless_def);
+ const auto f = lower_bound(uc_begin, uc_end, test);
+ if (f != uc_end && f->base == *c) {
DEBUG_PRINTF("flipped c=%x to %x\n", *c, f->caseless);
*c = f->caseless;
return true;