========================================================================== Find a flag by name using a binary search ==========================================================================
| 220 | // |
| 221 | //========================================================================== |
| 222 | static FFlagDef *FindFlag (FFlagDef *flags, int numflags, const char *flag) |
| 223 | { |
| 224 | int min = 0, max = numflags - 1; |
| 225 | |
| 226 | while (min <= max) |
| 227 | { |
| 228 | int mid = (min + max) / 2; |
| 229 | int lexval = stricmp (flag, flags[mid].name); |
| 230 | if (lexval == 0) |
| 231 | { |
| 232 | return &flags[mid]; |
| 233 | } |
| 234 | else if (lexval > 0) |
| 235 | { |
| 236 | min = mid + 1; |
| 237 | } |
| 238 | else |
| 239 | { |
| 240 | max = mid - 1; |
| 241 | } |
| 242 | } |
| 243 | return NULL; |
| 244 | } |
| 245 | |
| 246 | //========================================================================== |
| 247 | // |
no test coverage detected