Subversion Repositories SvarDOS

Rev

Rev 49 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 49 Rev 56
Line 57... Line 57...
57
    scr[offset] = attr | c;
57
    scr[offset] = attr | c;
58
    offset += step;
58
    offset += step;
59
  }
59
  }
60
}
60
}
61
 
61
 
62
void video_putstring(int y, int x, unsigned short attr, char *s) {
62
void video_putstring(int y, int x, unsigned short attr, char *s, int maxlen) {
63
  if (x < 0) { /* means 'center out' */
63
  if (x < 0) { /* means 'center out' */
64
    int slen;
64
    int slen;
65
    for (slen = 0; s[slen] != 0; slen++); /* faster than strlen() */
65
    for (slen = 0; s[slen] != 0; slen++); /* faster than strlen() */
66
    x = 40 - (slen >> 1);
66
    x = 40 - (slen >> 1);
67
  }
67
  }
68
  x += (y << 6) + (y << 4); /* I use x as an offset now */
68
  x += (y << 6) + (y << 4); /* I use x as an offset now */
69
  while (*s != 0) {
69
  while ((*s != 0) && (maxlen-- != 0)) {
70
    scr[x++] = attr | *s;
70
    scr[x++] = attr | *s;
71
    s++;
71
    s++;
72
  }
72
  }
73
}
73
}
74
 
74