summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2002-05-13 14:34:47 +0000
committerbde <bde@FreeBSD.org>2002-05-13 14:34:47 +0000
commitd6ab52d0b4af6b377189a67f6651755456516e01 (patch)
treeb19953e0c6d7d56a66408c1af1820cbf0d4acab9 /sys
parentd9521251f3b2be0b2995701b667cd2046f93becc (diff)
downloadFreeBSD-src-d6ab52d0b4af6b377189a67f6651755456516e01.zip
FreeBSD-src-d6ab52d0b4af6b377189a67f6651755456516e01.tar.gz
Fixed a semantic error. va_arg(ap, u_short) is nonsense except on i386's
with 16-bit ints, since u_short is promoted when it is passed to a varargs function. gcc now warns about this. We always pass small integers (this is well obuscated), so there are no conversion problems. Fixed a related style bug (bogus cast).
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/bios.c10
-rw-r--r--sys/i386/i386/bios.c10
2 files changed, 10 insertions, 10 deletions
diff --git a/sys/amd64/amd64/bios.c b/sys/amd64/amd64/bios.c
index bfd1afe..0312adf 100644
--- a/sys/amd64/amd64/bios.c
+++ b/sys/amd64/amd64/bios.c
@@ -362,8 +362,8 @@ bios16(struct bios_args *args, char *fmt, ...)
stack -= 2;
break;
- case 's': /* 16-bit integer */
- i = va_arg(ap, u_short);
+ case 's': /* 16-bit integer passed as an int */
+ i = va_arg(ap, int);
stack -= 2;
break;
@@ -434,8 +434,8 @@ bios16(struct bios_args *args, char *fmt, ...)
stack += 2;
break;
- case 's': /* 16-bit integer */
- i = va_arg(ap, u_short);
+ case 's': /* 16-bit integer passed as an int */
+ i = va_arg(ap, int);
*(u_short *)stack = i;
stack += 2;
break;
@@ -559,7 +559,7 @@ pnpbios_identify(driver_t *driver, device_t parent)
bzero(pd, bigdev);
pda->next = currdev;
/* get current configuration */
- if ((error = bios16(&args, PNP_GET_DEVNODE, &pda->next, &pda->node, (u_int16_t)1))) {
+ if ((error = bios16(&args, PNP_GET_DEVNODE, &pda->next, &pda->node, 1))) {
printf("pnpbios: error %d making BIOS16 call\n", error);
break;
}
diff --git a/sys/i386/i386/bios.c b/sys/i386/i386/bios.c
index bfd1afe..0312adf 100644
--- a/sys/i386/i386/bios.c
+++ b/sys/i386/i386/bios.c
@@ -362,8 +362,8 @@ bios16(struct bios_args *args, char *fmt, ...)
stack -= 2;
break;
- case 's': /* 16-bit integer */
- i = va_arg(ap, u_short);
+ case 's': /* 16-bit integer passed as an int */
+ i = va_arg(ap, int);
stack -= 2;
break;
@@ -434,8 +434,8 @@ bios16(struct bios_args *args, char *fmt, ...)
stack += 2;
break;
- case 's': /* 16-bit integer */
- i = va_arg(ap, u_short);
+ case 's': /* 16-bit integer passed as an int */
+ i = va_arg(ap, int);
*(u_short *)stack = i;
stack += 2;
break;
@@ -559,7 +559,7 @@ pnpbios_identify(driver_t *driver, device_t parent)
bzero(pd, bigdev);
pda->next = currdev;
/* get current configuration */
- if ((error = bios16(&args, PNP_GET_DEVNODE, &pda->next, &pda->node, (u_int16_t)1))) {
+ if ((error = bios16(&args, PNP_GET_DEVNODE, &pda->next, &pda->node, 1))) {
printf("pnpbios: error %d making BIOS16 call\n", error);
break;
}
OpenPOWER on IntegriCloud