void print_values(int y,int x,char if_name,t_iface_speed_stats stats,float multiplier,t_iface_stats full_stats) {
...
case PLAIN_OUT:
if (output_method==PLAIN_OUT && ansi_output) printf("\033[%d;2H",y);
printf("%15s:",if_name); / output the name */
printf("%s %s %s\n",
values2str(0,stats,full_stats,multiplier,buffer,49),
values2str(1,stats,full_stats,multiplier,buffer,49),
values2str(2,stats,full_stats,multiplier,buffer,49));
The last "printf" will output 3 data using the same "buffer". Because all 3 data are converted to string and saved in "buffer" one by one, the last data string will overwrite the former ones, and as a result in the final output line there will be 3 numbers which are exactly the same.
should be fixed in 0.6.1