Changeset 7f1c620 in mainline for generic/src/printf/printf_core.c
- Timestamp:
- 2006-07-04T17:17:56Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0ffa3ef5
- Parents:
- 991779c5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/src/printf/printf_core.c
r991779c5 r7f1c620 89 89 * @return string length without trailing zero. 90 90 */ 91 static __nativestrlen(const char *str)92 { 93 __nativecounter = 0;91 static unative_t strlen(const char *str) 92 { 93 unative_t counter = 0; 94 94 95 95 while (str[counter] != 0) { … … 147 147 * @return number of printed characters, negative value on fail 148 148 */ 149 static int print_char(char c, int width, __u64flags, struct printf_spec *ps)149 static int print_char(char c, int width, uint64_t flags, struct printf_spec *ps) 150 150 { 151 151 int counter = 0; … … 177 177 */ 178 178 179 static int print_string(char *s, int width, int precision, __u64flags, struct printf_spec *ps)179 static int print_string(char *s, int width, int precision, uint64_t flags, struct printf_spec *ps) 180 180 { 181 181 int counter = 0; … … 237 237 * 238 238 */ 239 static int print_number( __u64 num, int width, int precision, int base , __u64flags, struct printf_spec *ps)239 static int print_number(uint64_t num, int width, int precision, int base , uint64_t flags, struct printf_spec *ps) 240 240 { 241 241 char *digits = digits_small; … … 428 428 * - "l" Signed or usigned long int.@n 429 429 * - "ll" Signed or usigned long long int.@n 430 * - "z" __native(non-standard extension).@n430 * - "z" unative_t (non-standard extension).@n 431 431 * 432 432 * … … 467 467 qualifier_t qualifier; /* type of argument */ 468 468 int base; /**< base in which will be parameter (numbers only) printed */ 469 __u64number; /**< argument value */469 uint64_t number; /**< argument value */ 470 470 size_t size; /**< byte size of integer parameter */ 471 471 int width, precision; 472 __u64flags;472 uint64_t flags; 473 473 474 474 counter = 0; … … 563 563 } 564 564 break; 565 case 'z': /* __native*/565 case 'z': /* unative_t */ 566 566 qualifier = PrintfQualifierNative; 567 567 break; … … 645 645 case PrintfQualifierByte: 646 646 size = sizeof(unsigned char); 647 number = ( __u64)va_arg(ap, unsigned int);647 number = (uint64_t)va_arg(ap, unsigned int); 648 648 break; 649 649 case PrintfQualifierShort: 650 650 size = sizeof(unsigned short); 651 number = ( __u64)va_arg(ap, unsigned int);651 number = (uint64_t)va_arg(ap, unsigned int); 652 652 break; 653 653 case PrintfQualifierInt: 654 654 size = sizeof(unsigned int); 655 number = ( __u64)va_arg(ap, unsigned int);655 number = (uint64_t)va_arg(ap, unsigned int); 656 656 break; 657 657 case PrintfQualifierLong: 658 658 size = sizeof(unsigned long); 659 number = ( __u64)va_arg(ap, unsigned long);659 number = (uint64_t)va_arg(ap, unsigned long); 660 660 break; 661 661 case PrintfQualifierLongLong: 662 662 size = sizeof(unsigned long long); 663 number = ( __u64)va_arg(ap, unsigned long long);663 number = (uint64_t)va_arg(ap, unsigned long long); 664 664 break; 665 665 case PrintfQualifierPointer: 666 666 size = sizeof(void *); 667 number = ( __u64)(unsigned long)va_arg(ap, void *);667 number = (uint64_t)(unsigned long)va_arg(ap, void *); 668 668 break; 669 669 case PrintfQualifierNative: 670 size = sizeof( __native);671 number = ( __u64)va_arg(ap, __native);670 size = sizeof(unative_t); 671 number = (uint64_t)va_arg(ap, unative_t); 672 672 break; 673 673 default: /* Unknown qualifier */ … … 680 680 flags |= __PRINTF_FLAG_NEGATIVE; 681 681 682 if (size == sizeof( __u64)) {683 number = -(( __s64)number);682 if (size == sizeof(uint64_t)) { 683 number = -((int64_t)number); 684 684 } else { 685 685 number = ~number; … … 704 704 705 705 if (i > j) { 706 if ((retval = printf_putnchars(&fmt[j], ( __native)(i - j), ps)) < 0) { /* error */706 if ((retval = printf_putnchars(&fmt[j], (unative_t)(i - j), ps)) < 0) { /* error */ 707 707 counter = -counter; 708 708 goto out;
Note:
See TracChangeset
for help on using the changeset viewer.