[linux] add copy_and_close_linux_fb #2108

This commit is contained in:
nick black 2021-08-29 19:10:36 -04:00 committed by nick black
parent b99c71c0bc
commit b8e9b235ea

View File

@ -139,6 +139,28 @@ query_rgb(void){
return rgb;
}
// we have to keep a copy of the linux framebuffer while we reprogram fonts
struct framebuffer_copy {
void* map;
size_t mapsize;
int pixely, pixelx;
};
static int
copy_and_close_linux_fb(tinfo* ti, struct framebuffer_copy* fbdup){
if((fbdup->map = memdup(ti->linux_fbuffer, ti->linux_fb_len)) == NULL){
return -1;
}
munmap(ti->linux_fbuffer, ti->linux_fb_len);
fbdup->mapsize = ti->linux_fb_len;
ti->linux_fbuffer = NULL;
ti->linux_fb_len = 0;
close(ti->linux_fb_fd);
ti->linux_fb_fd = -1;
// FIXME need pixelx/pixely!
return 0;
}
// we couldn't get a terminal from interrogation, so let's see if the TERM
// matches any of our known terminals. this can only be as accurate as the
// TERM setting is (and as up-to-date and complete as we are).