|
Lines 281-294
extern void print_fields_double(print_field_t *field, double value, int last)
Link Here
|
| 281 |
else { |
281 |
else { |
| 282 |
int length, width = abs_len; |
282 |
int length, width = abs_len; |
| 283 |
char *tmp = xmalloc(width + 10); |
283 |
char *tmp = xmalloc(width + 10); |
| 284 |
sprintf(tmp, "%*.*g", width, width, value); |
284 |
sprintf(tmp, "%*f", abs_len, value); |
| 285 |
length = strlen(tmp); |
285 |
length = strlen(tmp); |
| 286 |
if (length > width) |
286 |
if (length > width) { |
| 287 |
width -= length - width; |
287 |
sprintf(tmp, "%*.*e", width, width, value); |
| 288 |
if (field->len == abs_len) |
288 |
length = strlen(tmp); |
| 289 |
printf("%*.*g ", width, width, value); |
289 |
if (length > width) |
| 290 |
else |
290 |
width -= length - width; |
| 291 |
printf("%-*.*g ", width, width, value); |
291 |
if (field->len == abs_len) |
|
|
292 |
printf("%*.*e ", width, width, value); |
| 293 |
else |
| 294 |
printf("%-*.*e ", width, width, value); |
| 295 |
} else { |
| 296 |
if (field->len == abs_len) |
| 297 |
printf("%*f ", width, value); |
| 298 |
else |
| 299 |
printf("%-*f ", width, value); |
| 300 |
} |
| 292 |
xfree(tmp); |
301 |
xfree(tmp); |
| 293 |
} |
302 |
} |
| 294 |
} |
303 |
} |