ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libukcprog/src/formf.c
(Generate patch)

Comparing projects/libukcprog/src/formf.c (file contents):
Revision 1.1 by tdb, Sat Mar 29 16:30:33 2003 UTC vs.
Revision 1.4 by tdb, Thu Aug 21 21:53:42 2003 UTC

# Line 266 | Line 266 | va_list args;
266  
267                  if (*fmt == '\0') {
268                          buf[pos] = '\0';
269 +                        errno=saved_errno;
270                          return buf;     /* end of format string */
271                  }
272  
# Line 332 | Line 333 | va_list args;
333                          case 'd':
334                          case 'i':
335                                  if (modifier == 'h')
336 <                                        i = va_arg(args, short);
336 >                                        i = va_arg(args, int);
337                                  else if (modifier == 'l')
338                                          i = va_arg(args, long);
339                                  else
# Line 382 | Line 383 | va_list args;
383                          case 'u':
384                                  base = 10;
385   gencase:                        if (modifier == 'h')
386 <                                        u = va_arg(args, short);
386 >                                        u = va_arg(args, int);
387                                  else if (modifier == 'l')
388                                          u = va_arg(args, long);
389                                  else
# Line 411 | Line 412 | gencase:                       if (modifier == 'h')
412                                  print_sign = FALSE;
413                                  break;
414                          case 'm':
415 <                                if (saved_errno < 0 || saved_errno > sys_nerr ||
416 <                                            *sys_errlist[saved_errno] == '\0') {
415 >                                errno = 0;
416 >                                s = strerror(saved_errno);
417 >                                if (errno == EINVAL) {
418                                          sprintf(errno_buffer,
419                                                  "errno %d out of range",
420                                                                  saved_errno);
421                                          s = errno_buffer;
422 <                                } else
421 <                                        s = sys_errlist[saved_errno];
422 >                                }
423                                  print_sign = FALSE;
424                                  break;
425   #ifdef VMS

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines