Changeset 551 for trunk/dll/commafmt.c
- Timestamp:
- Feb 28, 2007, 2:33:51 AM (19 years ago)
- File:
-
- 1 edited
-
trunk/dll/commafmt.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/commafmt.c
r154 r551 48 48 49 49 if (cBufSize < 2) 50 goto ABORT;50 goto ABORT; 51 51 52 *pch-- = 0; // Stuff terminator52 *pch-- = 0; // Stuff terminator 53 53 --cBufSize; 54 if (lNumber < 0) 55 { 54 if (lNumber < 0) { 56 55 sign = -1; 57 56 lNumber = -lNumber; 58 57 } 59 58 60 for (; cChars <= cBufSize; ++cChars, ++cDigits) 61 { 62 *pch-- = (CHAR)(lNumber % 10 + '0'); 59 for (; cChars <= cBufSize; ++cChars, ++cDigits) { 60 *pch-- = (CHAR) (lNumber % 10 + '0'); 63 61 lNumber /= 10; 64 62 if (!lNumber) 65 63 break; 66 if (cDigits % 3 == 0) 67 { 64 if (cDigits % 3 == 0) { 68 65 *pch-- = ','; 69 66 ++cChars; … … 71 68 if (cChars >= cBufSize) 72 69 goto ABORT; 73 } // for70 } // for 74 71 75 if (sign < 0) 76 { 72 if (sign < 0) { 77 73 if (cBufSize == 0) 78 74 goto ABORT; … … 86 82 87 83 ABORT: 88 *pszBuf = 0;89 return 0;84 *pszBuf = 0; 85 return 0; 90 86 } 91 87 … … 99 95 CHAR chSuffix = ' '; 100 96 size_t c; 101 if (ullNumber >= 1ULL << 31 || 102 (chPreferred != ' ' && ullNumber >= 1024)) 103 { 97 98 if (ullNumber >= 1ULL << 31 || (chPreferred != ' ' && ullNumber >= 1024)) { 104 99 ullNumber = (ullNumber + 1023) >> 10; 105 100 chSuffix = 'K'; 106 if (ullNumber >= 1ULL << 31 || 107 (chPreferred == 'M' && ullNumber >= 1024)) 108 { 101 if (ullNumber >= 1ULL << 31 || (chPreferred == 'M' && ullNumber >= 1024)) { 109 102 ullNumber = (ullNumber + 1023) >> 10; 110 103 chSuffix = 'M'; … … 112 105 } 113 106 114 c = commafmt(pszBuf, cBufSize, (LONG) ullNumber);107 c = commafmt(pszBuf, cBufSize, (LONG) ullNumber); 115 108 116 109 if (chSuffix != ' ') { 117 if (c + 4 > cBufSize) 118 { 110 if (c + 4 > cBufSize) { 119 111 *pszBuf = 0; 120 112 c = 0; 121 113 } 122 else 123 { 114 else { 124 115 pszBuf += c; 125 116 *pszBuf++ = chSuffix; … … 142 133 CHAR chSuffix = ' '; 143 134 size_t c; 144 if (ulNumber >= 1ULL << 31 || 145 (chPreferred != ' ' && ulNumber >= 1024)) 146 { 135 136 if (ulNumber >= 1ULL << 31 || (chPreferred != ' ' && ulNumber >= 1024)) { 147 137 ulNumber = (ulNumber + 1023) >> 10; 148 138 chSuffix = 'K'; 149 if (ulNumber >= 1ULL << 31 || 150 (chPreferred == 'M' && ulNumber >= 1024)) 151 { 139 if (ulNumber >= 1ULL << 31 || (chPreferred == 'M' && ulNumber >= 1024)) { 152 140 ulNumber = (ulNumber + 1023) >> 10; 153 141 chSuffix = 'M'; … … 158 146 159 147 if (chSuffix != ' ') { 160 if (c + 4 > cBufSize) 161 { 148 if (c + 4 > cBufSize) { 162 149 *pszBuf = 0; 163 150 c = 0; 164 151 } 165 else 166 { 152 else { 167 153 pszBuf += c; 168 154 *pszBuf++ = chSuffix; … … 175 161 return c; 176 162 } 177 178 179 180 181
Note:
See TracChangeset
for help on using the changeset viewer.
