int seat_read_active_vt(Seat *s) {
char t[64];
ssize_t k;
- unsigned int vtnr;
- int r;
+ int vtnr;
assert(s);
t[k] = 0;
truncate_nl(t);
- if (!startswith(t, "tty")) {
- log_error("Hm, /sys/class/tty/tty0/active is badly formatted.");
- return -EIO;
- }
-
- r = safe_atou(t+3, &vtnr);
- if (r < 0)
- return log_error_errno(r, "Failed to parse VT number \"%s\": %m", t+3);
-
- if (!vtnr) {
- log_error("VT number invalid: %s", t+3);
+ vtnr = vtnr_from_tty(t);
+ if (vtnr < 0) {
+ log_error_errno(vtnr, "Hm, /sys/class/tty/tty0/active is badly formatted: %m");
return -EIO;
}