static void binlog()

in src/dxapi/native/util/logger.cpp [150:174]


static void binlog(struct Logger * const self, const void * data, unsigned datalen)
{
    static const char sep[17] = "    -   -   -   ";
    int j, linelen;
    unsigned tmp;
    if (NULL == self) return;
    DxCriticalSectionEnterSpin(&self->crit_section);
    while (datalen) {
        linelen = datalen  <16 ? datalen : 16;
        for (j = 0; j < linelen; j++) {
            fprintf(self->file, "%c%02X", sep[j], ((uint8_t *)data)[j]);
        }
        for (j = 0; j < 16 - linelen; j++)
            fprintf(self->file, "   ");
        fprintf(self->file, " |"); // print separator
        for (j = 0; j < linelen; j++) {
            tmp = ((uint8_t *)data)[j];
            fprintf(self->file, "%1c", tmp >= 0x20 ? tmp : '.');
        }
        fprintf(self->file, "\n");
        data = (uint8_t *)data + linelen;
        datalen -= linelen;
    }
    DxCriticalSectionLeave(&self->crit_section);
}