--- projects/libukcprog/src/formf.c 2003/03/29 16:30:33 1.1 +++ projects/libukcprog/src/formf.c 2003/08/21 21:46:18 1.3 @@ -332,7 +332,7 @@ va_list args; case 'd': case 'i': if (modifier == 'h') - i = va_arg(args, short); + i = va_arg(args, int); else if (modifier == 'l') i = va_arg(args, long); else @@ -382,7 +382,7 @@ va_list args; case 'u': base = 10; gencase: if (modifier == 'h') - u = va_arg(args, short); + u = va_arg(args, int); else if (modifier == 'l') u = va_arg(args, long); else @@ -411,14 +411,14 @@ gencase: if (modifier == 'h') print_sign = FALSE; break; case 'm': - if (saved_errno < 0 || saved_errno > sys_nerr || - *sys_errlist[saved_errno] == '\0') { + errno = 0; + s = strerror(saved_errno); + if (errno == EINVAL) { sprintf(errno_buffer, "errno %d out of range", saved_errno); s = errno_buffer; - } else - s = sys_errlist[saved_errno]; + } print_sign = FALSE; break; #ifdef VMS