From 74f168bf7ae123eab1bda204cc80bc98c6b0ffd7 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Mon, 13 May 2002 14:34:47 +0000 Subject: [PATCH] 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). --- sys/amd64/amd64/bios.c | 10 +++++----- sys/i386/i386/bios.c | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/amd64/amd64/bios.c b/sys/amd64/amd64/bios.c index bfd1afe0d16c..0312adf00bff 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 bfd1afe0d16c..0312adf00bff 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; }