static int construct_FrozenScreen (BaseScreen *source) { describeBaseScreen(source, &screenDescription); if ((screenCharacters = calloc(screenDescription.rows*screenDescription.cols, sizeof(*screenCharacters)))) { const ScreenBox box = { .left=0, .width=screenDescription.cols, .top=0, .height=screenDescription.rows }; if (source->readCharacters(&box, screenCharacters)) { startFreezeReminderAlarm(); return 1; } free(screenCharacters); screenCharacters = NULL; } else { logMallocError(); } return 0; }
void describeScreen (ScreenDescription *description) { describeBaseScreen(currentScreen, description); }