34 lines
877 B
Diff
34 lines
877 B
Diff
Index: sys/dev/vt/vt_core.c
|
|
===================================================================
|
|
--- sys/dev/vt/vt_core.c (revision 278106)
|
|
+++ sys/dev/vt/vt_core.c (working copy)
|
|
@@ -1719,14 +1719,16 @@ skip_thunk:
|
|
}
|
|
VT_UNLOCK(vd);
|
|
return (EINVAL);
|
|
- case VT_WAITACTIVE:
|
|
+ case VT_WAITACTIVE: {
|
|
+ unsigned int idx;
|
|
+
|
|
error = 0;
|
|
|
|
- i = *(unsigned int *)data;
|
|
- if (i > VT_MAXWINDOWS)
|
|
+ idx = *(unsigned int *)data;
|
|
+ if (idx > VT_MAXWINDOWS)
|
|
return (EINVAL);
|
|
- if (i != 0)
|
|
- vw = vd->vd_windows[i - 1];
|
|
+ if (idx > 0)
|
|
+ vw = vd->vd_windows[idx - 1];
|
|
|
|
VT_LOCK(vd);
|
|
while (vd->vd_curwindow != vw && error == 0)
|
|
@@ -1733,6 +1735,7 @@ skip_thunk:
|
|
error = cv_wait_sig(&vd->vd_winswitch, &vd->vd_lock);
|
|
VT_UNLOCK(vd);
|
|
return (error);
|
|
+ }
|
|
case VT_SETMODE: { /* set screen switcher mode */
|
|
struct vt_mode *mode;
|
|
struct proc *p1;
|