summaryrefslogtreecommitdiff
path: root/st.h
diff options
context:
space:
mode:
authorNRK <nrk@disroot.org>2022-03-18 17:03:34 +0600
committerGustaf Rydholm <gustaf.rydholm@gmail.com>2023-05-08 00:44:48 +0200
commitfa576c74f8bcc084b658600d9e28fefccf1d09f3 (patch)
treeae4601bec66eecd5fc610cc49e89b24cb4e53fe5 /st.h
parent022b9877c33dcf670ee48f56157c409c09c85a3d (diff)
base64_digits: reduce scope, implicit zero, +1 size
the array is not accessed outside of base64dec() so it makes sense to limit it's scope to the related function. the static-storage duration of the array is kept intact. this also removes unnecessary explicit zeroing from the start and end of the array. anything that wasn't explicitly zero-ed will now be implicitly zero-ed instead. the validity of the new array can be easily confirmed via running this trivial loop: for (int i = 0; i < 255; ++i) assert(base64_digits[i] == base64_digits_old[i]); lastly, as pointed out by Roberto, the array needs to have 256 elements in order to able access it as any unsigned char as an index; the previous array had 255. however, this array will only be accessed at indexes which are isprint() || '=' (see `base64dec_getc()`), so reducing the size of the array to the highest printable ascii char (127 AFAIK) + 1 might also be a valid strategy.
Diffstat (limited to 'st.h')
0 files changed, 0 insertions, 0 deletions