ucp_table: don't always deref rv of lower_bound

Fixes a warning from asan.
This commit is contained in:
Justin Viiret 2016-05-09 16:03:39 +10:00 committed by Matthew Barr
parent ed772380c0
commit f48b8c937b

View File

@ -1,5 +1,5 @@
/*
* 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:
@ -117,13 +117,12 @@ void make_caseless(CodePointSet *cps) {
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;