Wireshark-dev: Re: [Wireshark-dev] TCP Graphs and thousands separators ...
On Thu, Jun 21, 2012 at 7:02 AM, Jeff Morriss <jeff.morriss.ws@xxxxxxxxx> wrote:
> Richard Sharpe wrote:
>> On Wed, Jun 20, 2012 at 9:22 PM, Richard Sharpe
>> <realrichardsharpe@xxxxxxxxx> wrote:
>>> Hi folks,
>>>
>>> I have noticed some complaining about the lack of thousands separators
>>> on the ticks, especially on the vertical axis. Certainly, I find it a
>>> pain.
>>>
>>> The following patch might fix the problem. I don't currently have a
>>> capture that I can check this with. Perhaps tomorrow I will remember
>>> to bring one how that shows more than three digits ...
>>>
>>> [rsharpe@localhost wireshark]$ svn diff ui/gtk/tcp_graph.c
>>> Index: ui/gtk/tcp_graph.c
>>> ===================================================================
>>> --- ui/gtk/tcp_graph.c (revision 43186)
>>> +++ ui/gtk/tcp_graph.c (working copy)
>>> @@ -2767,7 +2767,7 @@
>>> break;
>>> y = y - floor (y);
>>> }
>>> - g_snprintf (str, sizeof(str), "%.*f", rdigits, label);
>>> + g_snprintf (str, sizeof(str), "%'*f", rdigits, label);
>>> switch (dir) {
>>> case AXIS_HORIZONTAL:
>>> layout = gtk_widget_create_pango_layout(axis->g->drawing_area,
>>>
>>
>> Nope. I was wrong. This does it. Can someone commit it? Do I have to
>> create a bug?:
>>
>> Index: ui/gtk/io_stat.c
>> ===================================================================
>> --- ui/gtk/io_stat.c (revision 43186)
>> +++ ui/gtk/io_stat.c (working copy)
>> @@ -962,14 +962,14 @@
>> if(draw_y_as_time){
>> print_time_scale_string(label_string, 15, value, value, TRUE);
>> } else {
>> - g_snprintf(label_string, 15, "%d", value);
>> + g_snprintf(label_string, 15, "%'d", value);
>> }
>> } else {
>> value = (max_y/10)*i;
>> if(draw_y_as_time){
>> print_time_scale_string(label_string, 15, value, max_y, FALSE);
>> } else {
>> - g_snprintf(label_string, 15, "%d", value);
>> + g_snprintf(label_string, 15, "%'d", value);
>> }
>> }
>
> Bugs are always better, and I see you opened bug 7389 for this.
>
> But: a quick search for "printf apostrophe portable" brought me here:
>
> http://www.velocityreviews.com/forums/t442370-portability-issues-with-flag-in-printf.html
>
> which indicates that using the apostrophe isn't really portable.
Yes, I had noticed the portability issues, but I think they can be
solved. The utility of the separators is high enough, it seems to me,
that some additional #ifdefs to deal with this issue is worth it.
--
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)