Lines Matching refs:formatAttr
615 SecFormatAttr formatAttr;
617 formatAttr.flags = 0;
618 formatAttr.bufferIsWide = 0; /* flag for buffer contains wide chars */
619 formatAttr.fldWidth = 0;
620 formatAttr.precision = 0;
621 formatAttr.dynWidth = 0;
622 formatAttr.dynPrecision = 0;
659 formatAttr.flags = 0;
660 formatAttr.fldWidth = 0;
661 formatAttr.precision = -1;
662 formatAttr.bufferIsWide = 0;
683 SecDecodeFlags(ch, &formatAttr);
690 formatAttr.fldWidth = (int)va_arg(arglist, int);
691 if (formatAttr.fldWidth < 0) {
692 formatAttr.flags |= SECUREC_FLAG_LEFT;
693 formatAttr.fldWidth = -formatAttr.fldWidth;
695 formatAttr.dynWidth = 1;
698 formatAttr.fldWidth = 0;
700 if (SECUREC_MUL10_ADD_BEYOND_MAX(formatAttr.fldWidth)) {
703 formatAttr.fldWidth =
704 (int)SECUREC_MUL10((unsigned int)formatAttr.fldWidth) + (ch - SECUREC_CHAR('0'));
705 formatAttr.dynWidth = 0;
710 formatAttr.precision = 0;
717 formatAttr.precision = (int)va_arg(arglist, int);
718 if (formatAttr.precision < 0) {
719 formatAttr.precision = -1;
721 formatAttr.dynPrecision = 1;
724 if (SECUREC_MUL10_ADD_BEYOND_MAX(formatAttr.precision)) {
727 formatAttr.precision =
728 (int)SECUREC_MUL10((unsigned int)formatAttr.precision) + (ch - SECUREC_CHAR('0'));
729 formatAttr.dynPrecision = 0;
734 /* read a size specifier, set the formatAttr.flags based on it */
735 if (SecDecodeSize(ch, &formatAttr, &format) != 0) {
747 if (!(formatAttr.flags & (SECUREC_FLAG_SHORT | SECUREC_FLAG_LONG | SECUREC_FLAG_WIDECHAR))) {
749 formatAttr.flags |= SECUREC_FLAG_SHORT;
751 formatAttr.flags |= SECUREC_FLAG_WIDECHAR;
758 textLen = SecDecodeTypeC(&formatAttr, cValue, &formatBuf, &buffer);
765 if (!(formatAttr.flags & (SECUREC_FLAG_SHORT | SECUREC_FLAG_LONG | SECUREC_FLAG_WIDECHAR))) {
766 formatAttr.flags |= SECUREC_FLAG_WIDECHAR;
769 if (!(formatAttr.flags & (SECUREC_FLAG_SHORT | SECUREC_FLAG_LONG | SECUREC_FLAG_WIDECHAR))) {
770 formatAttr.flags |= SECUREC_FLAG_SHORT;
777 textLen = SecDecodeTypeS(&formatAttr, argPtr, &formatBuf);
800 if (formatAttr.precision < 0) {
801 formatAttr.precision = 6; /* securec float default precision 6 */
802 } else if (formatAttr.precision == 0 && ch == SECUREC_CHAR('g')) {
803 formatAttr.precision = 1;
807 if (formatAttr.flags & SECUREC_FLAG_LONG_DOUBLE) {
808 if (formatAttr.precision > (SECUREC_INT_MAX - SECUREC_FLOAT_BUFSIZE_LB)) {
812 bufferSize = SECUREC_FLOAT_BUFSIZE_LB + formatAttr.precision;
814 if (formatAttr.precision > (SECUREC_INT_MAX - SECUREC_FLOAT_BUFSIZE)) {
818 bufferSize = SECUREC_FLOAT_BUFSIZE + formatAttr.precision;
820 if (formatAttr.fldWidth > bufferSize) {
821 bufferSize = formatAttr.fldWidth;
883 if (formatAttr.flags & SECUREC_FLAG_LONG_DOUBLE) {
886 if (formatAttr.dynWidth && formatAttr.dynPrecision) {
888 formatAttr.fldWidth, formatAttr.precision, tmp);
889 } else if (formatAttr.dynWidth) {
891 formatAttr.fldWidth, tmp);
892 } else if (formatAttr.dynPrecision) {
894 formatAttr.precision, tmp);
902 if (formatAttr.dynWidth && formatAttr.dynPrecision) {
904 formatAttr.fldWidth, formatAttr.precision, tmp);
905 } else if (formatAttr.dynWidth) {
907 formatAttr.fldWidth, tmp);
908 } else if (formatAttr.dynPrecision) {
910 formatAttr.precision, tmp);
927 formatAttr.fldWidth =
930 formatAttr.flags = 0; /* clear all internal formatAttr.flags */
938 formatAttr.flags &= ~SECUREC_FLAG_LEADZERO;
940 formatAttr.flags |= SECUREC_FLAG_POINTER;
944 formatAttr.flags |= SECUREC_FLAG_I64; /* converting an int64 */
946 formatAttr.flags |= SECUREC_FLAG_LONG; /* converting a long */
952 formatAttr.precision = 1;
954 formatAttr.precision = 0;
956 formatAttr.flags |= SECUREC_FLAG_ALTERNATE; /* "0x" is not default prefix in UNIX */
962 formatAttr.precision = 1;
964 formatAttr.precision = 2 * sizeof(void *); /* 2 x byte number is the length of hex */
987 if (formatAttr.flags & SECUREC_FLAG_ALTERNATE) {
1011 formatAttr.flags |= SECUREC_FLAG_SIGNED;
1020 if (formatAttr.flags & SECUREC_FLAG_ALTERNATE) {
1022 formatAttr.flags |= SECUREC_FLAG_FORCE_OCTAL;
1035 if (formatAttr.flags & SECUREC_FLAG_I64) {
1037 } else if (formatAttr.flags & SECUREC_FLAG_LONGLONG) {
1041 if (formatAttr.flags & SECUREC_FLAG_LONG) {
1045 if (formatAttr.flags & SECUREC_FLAG_CHAR) {
1046 if (formatAttr.flags & SECUREC_FLAG_SIGNED) {
1050 formatAttr.flags |= SECUREC_FLAG_NEGATIVE;
1057 } else if (formatAttr.flags & SECUREC_FLAG_SHORT) {
1058 if (formatAttr.flags & SECUREC_FLAG_SIGNED) {
1065 else if (formatAttr.flags & SECUREC_FLAG_PTRDIFF) {
1067 } else if (formatAttr.flags & SECUREC_FLAG_SIZE) {
1068 if (formatAttr.flags & SECUREC_FLAG_SIGNED) {
1080 } else if (formatAttr.flags & SECUREC_FLAG_INTMAX) {
1081 if (formatAttr.flags & SECUREC_FLAG_SIGNED) {
1089 if (formatAttr.flags & SECUREC_FLAG_SIGNED) {
1097 if ((formatAttr.flags & SECUREC_FLAG_SIGNED) && l < 0) {
1099 formatAttr.flags |= SECUREC_FLAG_NEGATIVE;
1104 if (((formatAttr.flags & SECUREC_FLAG_I64) == 0) &&
1106 ((formatAttr.flags & SECUREC_FLAG_INTMAX) == 0) &&
1109 ((formatAttr.flags & SECUREC_FLAG_PTRDIFF) == 0) &&
1110 ((formatAttr.flags & SECUREC_FLAG_SIZE) == 0) &&
1112 ((formatAttr.flags & SECUREC_FLAG_LONG) == 0) &&
1115 ((formatAttr.flags & SECUREC_FLAG_LONGLONG) == 0)) {
1121 if (formatAttr.precision < 0) {
1122 formatAttr.precision = 1; /* default precision */
1125 formatAttr.flags &= ~SECUREC_FLAG_LEADZERO;
1127 if (!(formatAttr.flags & SECUREC_FLAG_POINTER)) {
1128 formatAttr.flags &= ~SECUREC_FLAG_LEADZERO;
1131 if (formatAttr.precision > SECUREC_MAX_PRECISION) {
1132 formatAttr.precision = SECUREC_MAX_PRECISION;
1141 if ((ch == 'p') && (formatAttr.flags & SECUREC_FLAG_ALTERNATE))
1231 if (formatAttr.precision > textLen) {
1232 for (ii = 0; ii < formatAttr.precision - textLen; ++ii) {
1235 textLen = formatAttr.precision;
1239 if ((formatAttr.flags & SECUREC_FLAG_FORCE_OCTAL) &&
1251 if (formatAttr.flags & SECUREC_FLAG_SIGNED) {
1252 if (formatAttr.flags & SECUREC_FLAG_NEGATIVE) {
1256 } else if (formatAttr.flags & SECUREC_FLAG_SIGN) {
1260 } else if (formatAttr.flags & SECUREC_FLAG_SIGN_SPACE) {
1268 if ((formatAttr.flags & SECUREC_FLAG_POINTER) && (0 == textLen)) {
1269 formatAttr.flags &= ~SECUREC_FLAG_LEADZERO;
1282 padding = (formatAttr.fldWidth - textLen) - prefixLen;
1286 if (!(formatAttr.flags & (SECUREC_FLAG_LEFT | SECUREC_FLAG_LEADZERO)) && padding > 0) {
1307 if ((formatAttr.flags & SECUREC_FLAG_LEADZERO) && !(formatAttr.flags & SECUREC_FLAG_LEFT) &&
1321 if (formatAttr.bufferIsWide) {
1329 if (formatAttr.bufferIsWide && (textLen > 0)) {
1351 if (formatAttr.bufferIsWide == 0 && textLen > 0) {
1376 if (charsOut >= 0 && (formatAttr.flags & SECUREC_FLAG_LEFT) && padding > 0) {