static unsigned char i, len;
static unsigned len;
shell_output(char *str1, char *str2){  static unsigned char i, len;  char *line;    for(i = 1; i < YSIZE; ++i) {    memcpy(&log[(i - 1) * XSIZE], &log[i * XSIZE], XSIZE);  }  memset(&log[(YSIZE - 1) * XSIZE], 0, XSIZE);  len = strlen(str1);  strncpy(&log[(YSIZE - 1) * XSIZE], str1, XSIZE);  if(len < XSIZE) {    strncpy(&log[(YSIZE - 1) * XSIZE] + len, str2, XSIZE - len);  }  CTK_WIDGET_REDRAW(&loglabel);  line = alloc_line();  if(line != NULL) {    len = strlen(str1);    strncpy(line, str1, LINELEN);    if(len < LINELEN) {      strncpy(line + len, str2, LINELEN - len);    }    len = strlen(line);    if(len < LINELEN - 2) {      line[len] = ISO_cr;      line[len+1] = ISO_nl;      line[len+2] = 0;    }    petsciiconv_toascii(line, LINELEN);    for(i = 0; i < NUMLINES; ++i) {      if(s.lines[i] == NULL) {	s.lines[i] = line;	break;      }    }    if(i == NUMLINES) {      dealloc_line(line);    }    /*  } else {	printf("COld not aloce\n");*/  }}