c
#define SAFE_WRITE(ptr, size, index, value) \
    do { \
        if ((ptr) != NULL && (size) > (index)) { \
            (ptr)[(index)] = (value); \
        } \
    } while(0)

static inline void DecodeBase64Block(uint8_t *ascii, size_t ascii_size, uint8_t b64[B64_BLOCK]) {
    SAFE_WRITE(ascii, ascii_size, 0, (uint8_t) (b64[0] << 2) | (b64[1] >> 4));
}
