Mercurial > hg > th-libs
comparison th_string.c @ 241:d0bf513f2118
Add some comments.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 16 Feb 2016 16:29:25 +0200 |
parents | 5e781dba6136 |
children | 11f8cd7d73d3 |
comparison
equal
deleted
inserted
replaced
240:5e781dba6136 | 241:d0bf513f2118 |
---|---|
157 } | 157 } |
158 | 158 |
159 // Calculate necessary padding, if any | 159 // Calculate necessary padding, if any |
160 int nwidth = width - pos; | 160 int nwidth = width - pos; |
161 | 161 |
162 // Suffix padding? | 162 // Prefix padding? |
163 if (padMode != '-' && nwidth > 0) | 163 if (padMode != '-' && nwidth > 0) |
164 { | 164 { |
165 while (nwidth--) | 165 while (nwidth--) |
166 { | 166 { |
167 if ((ret = vputch(ctx, padMode)) == EOF) | 167 if ((ret = vputch(ctx, padMode)) == EOF) |
195 const char *str, const char padMode, const int width) | 195 const char *str, const char padMode, const int width) |
196 { | 196 { |
197 int nwidth = width - strlen(str); | 197 int nwidth = width - strlen(str); |
198 int ret = 0; | 198 int ret = 0; |
199 | 199 |
200 // Prefix padding? | |
200 if (padMode != '-' && nwidth > 0) | 201 if (padMode != '-' && nwidth > 0) |
201 { | 202 { |
202 while (nwidth--) | 203 while (nwidth--) |
203 { | 204 { |
204 if ((ret = vputch(ctx, padMode)) == EOF) | 205 if ((ret = vputch(ctx, padMode)) == EOF) |
210 { | 211 { |
211 if ((ret = vputch(ctx, *str++)) == EOF) | 212 if ((ret = vputch(ctx, *str++)) == EOF) |
212 goto out; | 213 goto out; |
213 } | 214 } |
214 | 215 |
216 // Postfix padding? | |
215 if (padMode == '-' && nwidth > 0) | 217 if (padMode == '-' && nwidth > 0) |
216 { | 218 { |
217 while (nwidth--) | 219 while (nwidth--) |
218 { | 220 { |
219 if ((ret = vputch(ctx, ' ')) == EOF) | 221 if ((ret = vputch(ctx, ' ')) == EOF) |
243 BOOL sign = FALSE; | 245 BOOL sign = FALSE; |
244 int width = 0, prec = 0; | 246 int width = 0, prec = 0; |
245 | 247 |
246 fmt++; | 248 fmt++; |
247 | 249 |
250 // Check sign | |
248 if (*fmt == '+') | 251 if (*fmt == '+') |
249 { | 252 { |
250 sign = TRUE; | 253 sign = TRUE; |
251 fmt++; | 254 fmt++; |
252 } | 255 } |
253 | 256 |
257 // Check for padding | |
254 if (*fmt == '0' || *fmt == '-' || *fmt == '\'') | 258 if (*fmt == '0' || *fmt == '-' || *fmt == '\'') |
255 { | 259 { |
256 padMode = *fmt++; | 260 padMode = *fmt++; |
257 if (padMode == '\'') | 261 if (padMode == '\'') |
258 { | 262 { |
264 | 268 |
265 if (*fmt == 0) | 269 if (*fmt == 0) |
266 goto out; | 270 goto out; |
267 } | 271 } |
268 | 272 |
273 // Get width | |
269 while (th_isdigit(*fmt)) | 274 while (th_isdigit(*fmt)) |
270 width = width * 10 + (*fmt++ - '0'); | 275 width = width * 10 + (*fmt++ - '0'); |
271 | 276 |
277 // Check for precision | |
272 if (*fmt == '.') | 278 if (*fmt == '.') |
273 { | 279 { |
274 fmt++; | 280 fmt++; |
275 if (!th_isdigit(*fmt)) | 281 if (!th_isdigit(*fmt)) |
276 goto out; | 282 goto out; |