From fe94d97f705846ef809d4109b310c96d0b3bb1ac Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Tue, 20 Dec 2016 19:06:29 -0500 Subject: Make stm_flash_sector_num a little more efficient. --- stm-flash.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/stm-flash.c b/stm-flash.c index 991379b..fc79ea0 100644 --- a/stm-flash.c +++ b/stm-flash.c @@ -72,14 +72,15 @@ uint32_t flash_sector_offsets[FLASH_NUM_SECTORS + 1] = { int stm_flash_sector_num(const uint32_t offset) { - int i = FLASH_NUM_SECTORS; + int i; - while (i-- >= 0) { - if (offset >= flash_sector_offsets[i] && - offset < flash_sector_offsets[i + 1]) { + if (offset < flash_sector_offsets[0]) + return -1; + + for (i = 0; i < FLASH_NUM_SECTORS; ++i) + if (offset < flash_sector_offsets[i + 1]) return i; - } - } + return -1; } -- cgit v1.2.3