summaryrefslogtreecommitdiff
path: root/i386/i386at/kd.c
diff options
context:
space:
mode:
Diffstat (limited to 'i386/i386at/kd.c')
-rw-r--r--i386/i386at/kd.c78
1 files changed, 23 insertions, 55 deletions
diff --git a/i386/i386at/kd.c b/i386/i386at/kd.c
index 6209031..ad15595 100644
--- a/i386/i386at/kd.c
+++ b/i386/i386at/kd.c
@@ -95,11 +95,10 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <i386at/kd_mouse.h>
#include <i386at/kdsoft.h>
#include <device/cons.h>
+#include <util/atoi.h>
#define DEBUG 1 /* export feep() */
-#define DEFAULT -1 /* see kd_atoi */
-
void kd_enqsc(); /* enqueues a scancode */
#if 0
@@ -1505,17 +1504,17 @@ u_char *cp;
csrpos_t newpos;
for(i=0;i<=15;i++)
- number[i] = DEFAULT;
+ number[i] = MACH_ATOI_DEFAULT;
do {
- cp += kd_atoi(cp, &number[npar]);
+ cp += mach_atoi(cp, &number[npar]);
} while (*cp == ';' && ++npar <= 15 && cp++);
switch(*cp) {
case 'm':
for (i=0;i<=npar;i++)
switch(number[i]) {
- case DEFAULT:
+ case MACH_ATOI_DEFAULT:
case 0:
kd_attrflags = 0;
kd_color = KA_NORMAL;
@@ -1575,14 +1574,14 @@ u_char *cp;
esc_spt = esc_seq;
break;
case '@':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_insch(1);
else
kd_insch(number[0]);
esc_spt = esc_seq;
break;
case 'A':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_up();
else
while (number[0]--)
@@ -1590,7 +1589,7 @@ u_char *cp;
esc_spt = esc_seq;
break;
case 'B':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_down();
else
while (number[0]--)
@@ -1598,7 +1597,7 @@ u_char *cp;
esc_spt = esc_seq;
break;
case 'C':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_right();
else
while (number[0]--)
@@ -1606,7 +1605,7 @@ u_char *cp;
esc_spt = esc_seq;
break;
case 'D':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_left();
else
while (number[0]--)
@@ -1615,7 +1614,7 @@ u_char *cp;
break;
case 'E':
kd_cr();
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_down();
else
while (number[0]--)
@@ -1624,7 +1623,7 @@ u_char *cp;
break;
case 'F':
kd_cr();
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_up();
else
while (number[0]--)
@@ -1632,7 +1631,7 @@ u_char *cp;
esc_spt = esc_seq;
break;
case 'G':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
number[0] = 0;
else
if (number[0] > 0)
@@ -1642,18 +1641,18 @@ u_char *cp;
break;
case 'f':
case 'H':
- if (number[0] == DEFAULT && number[1] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT && number[1] == MACH_ATOI_DEFAULT)
{
kd_home();
esc_spt = esc_seq;
break;
}
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
number[0] = 0;
else if (number[0] > 0)
--number[0]; /* numbered from 1 */
newpos = (number[0] * ONE_LINE); /* setup row */
- if (number[1] == DEFAULT)
+ if (number[1] == MACH_ATOI_DEFAULT)
number[1] = 0;
else if (number[1] > 0)
number[1]--;
@@ -1667,7 +1666,7 @@ u_char *cp;
break; /* done or not ready */
case 'J':
switch(number[0]) {
- case DEFAULT:
+ case MACH_ATOI_DEFAULT:
case 0:
kd_cltobcur(); /* clears from current
pos to bottom.
@@ -1688,7 +1687,7 @@ u_char *cp;
break;
case 'K':
switch(number[0]) {
- case DEFAULT:
+ case MACH_ATOI_DEFAULT:
case 0:
kd_cltoecur(); /* clears from current
pos to eoln.
@@ -1709,28 +1708,28 @@ u_char *cp;
esc_spt = esc_seq;
break;
case 'L':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_insln(1);
else
kd_insln(number[0]);
esc_spt = esc_seq;
break;
case 'M':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_delln(1);
else
kd_delln(number[0]);
esc_spt = esc_seq;
break;
case 'P':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_delch(1);
else
kd_delch(number[0]);
esc_spt = esc_seq;
break;
case 'S':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_scrollup();
else
while (number[0]--)
@@ -1738,7 +1737,7 @@ u_char *cp;
esc_spt = esc_seq;
break;
case 'T':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_scrolldn();
else
while (number[0]--)
@@ -1746,7 +1745,7 @@ u_char *cp;
esc_spt = esc_seq;
break;
case 'X':
- if (number[0] == DEFAULT)
+ if (number[0] == MACH_ATOI_DEFAULT)
kd_erase(1);
else
kd_erase(number[0]);
@@ -1762,37 +1761,6 @@ u_char *cp;
return;
}
-/*
- * kd_atoi:
- *
- * This function converts an ascii string into an integer, and
- * returns DEFAULT if no integer was found. Note that this is why
- * we don't use the regular atio(), because ZERO is ZERO and not
- * the DEFAULT in all cases.
- *
- * input : string
- * output : a number or possibly DEFAULT, and the count of characters
- * consumed by the conversion
- *
- */
-int
-kd_atoi(cp, nump)
-u_char *cp;
-int *nump;
-{
- int number;
- u_char *original;
-
- original = cp;
- for (number = 0; ('0' <= *cp) && (*cp <= '9'); cp++)
- number = (number * 10) + (*cp - '0');
- if (original == cp)
- *nump = DEFAULT;
- else
- *nump = number;
- return(cp - original);
-}
-
void
kd_tab()
{