summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorChris Dickens <christopher.a.dickens@gmail.com>2020-03-26 21:38:45 -0700
committerChris Dickens <christopher.a.dickens@gmail.com>2020-03-26 21:38:45 -0700
commit1d67425879c3ae515e97b73df94bf2e7336178b0 (patch)
tree6836e21a88e894b5a65ddf09bb677499bce0c895 /TODO
parent1201bccf857aa2c126f6f568f5255b0aa6027ac2 (diff)
downloadlibusb-1d67425879c3ae515e97b73df94bf2e7336178b0.tar.gz
strerror: Micro-optimize implementation and remove use of strncasecmp()
When comparing the user-provided locale string in libusb_setlocale(), we only care about the first two characters. The lookup strings within libusb are always lowercase, so simplify the comparison by directly comparing the result of tolower(). This removes the need for strncasecmp() which was not able to be cleanly included in the first place. Rather than storing an index into the array of localized strings, store a pointer to the selected sub-array instead. This trims the generated code of libusb_strerror() by nearly half as loads can be dropped. Also constify the arrays of strings as they should not be mutable. Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
Diffstat (limited to 'TODO')
0 files changed, 0 insertions, 0 deletions