Ejemplo n.º 1
0
void hexdump_line(uintptr_t addr, uint8_t *buf, int nbytes, int grouping, int maxbytes) {
    if(!nbytes)
        return;

    int i=0;
    null_color();
    set_color(COLOR_BLUE, COLOR_DEFAULT);
    printf("0x%0*lx: ", (int)sizeof(void *)*2, addr);
    for(i=0; i<maxbytes; i++) {
        if(grouping && (i % grouping == 0)) {
            null_color();
            printf(" ");
        }

        if(i < nbytes) {
            char_color(buf[i]);
            printf("%02x", buf[i]);
        } else {
            null_color();
            printf("  ");
        }
    }

    null_color();
    printf("  ");

    for(i=0; i<maxbytes; i++) {
        if(i < nbytes) {
            char_color(buf[i]);
            print_char(buf[i]);
        } else {
            null_color();
            printf(" ");
        }
    }
    null_color();
    printf("\n");
}
Ejemplo n.º 2
0
	bool null() const
	{
		return *this == null_color();
	}