View | Details | Raw Unified | Return to ticket 1749 | Differences between
and this patch

Collapse All | Expand All

(-)a/src/common/print_fields.c (-7 / +16 lines)
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
	}

Return to ticket 1749