On Thu, 22 Dec 2016 18:23:13 +0200
Nogah Frankel <nog...@mellanox.com> wrote:
On Thu, 22 Dec 2016 18:23:13 +0200
Nogah Frankel <nog...@mellanox.com> wrote:

>  }
> @@ -691,18 +804,22 @@ static const struct option longopts[] = {
>       { "interval", 1, 0, 't' },
>       { "version", 0, 0, 'V' },
>       { "zeros", 0, 0, 'z' },
> +     { "extended", 1, 0, 'x'},
>       { 0 }
>  };
>  
> +
>  int main(int argc, char *argv[])

You let extra whitespace changes creep in.


> +             case 'x':
> +                     is_extended = true;
> +                     memset(stats_type, 0, 64);
> +                     strncpy(stats_type, optarg, 63);
> +                     break;

This seems like doing this either the paranoid or hard way.
Why not:
        const char *stats_type = NULL;
...

        case 'x':
                stats_type = optarg;
                break;
...
                if (stats_type)
                        snprintf(hist_name, sizeof(hist_name),
                                 "%s/.%s_ifstat.u%d", P_tmpdir, stats_type,
                                 getuid());
                else
                        snprintf(hist_name, sizeof(hist_name),
                                 "%s/.ifstat.u%d", P_tmpdir, getuid());


Since:
        1) optarg points to area in argv that is persistent (avoid copy)
        2) don't need is_extended flag value then

Please cleanup and resubmit.



Reply via email to