On Tue, Jul 05, 2022 at 07:04:49AM -0500, Scott Cheloha wrote:
> On Tue, Jul 05, 2022 at 11:53:26AM +0200, Claudio Jeker wrote:
> > On Tue, Jul 05, 2022 at 11:34:21AM +0000, Job Snijders wrote:
> > > On Tue, Jul 05, 2022 at 11:08:13AM +0200, Claudio Jeker wrote:
> > > > On Mon, Jul 04, 2022 at 05:10:05PM -0500, Scott Cheloha wrote:
> > > > > On Mon, Jul 04, 2022 at 11:15:24PM +0200, Claudio Jeker wrote:
> > > > > > On Mon, Jul 04, 2022 at 01:28:12PM -0500, Scott Cheloha wrote:
> > > > > > > Hi,
> > > > > > > 
> > > > > > > Couple things:
> > > > > > > 
> > > > > > > [...]
> > > > > > 
> > > > > > I don't like the introduction of all these local variables that are 
> > > > > > just
> > > > > > hard to follow and need extra code pathes. Happy to rename roff to 
> > > > > > offset,
> > > > > > start_offset or something similar. Also moving the localtime call 
> > > > > > into
> > > > > > fmtfmt() is fine.
> > > > > 
> > > > > You need an "elapsed" variable to avoid overwriting "now" in the
> > > > > -i flag case to avoid calling clock_gettime(2) twice.
> > > > > 
> > > > > We can get rid of "utc_start" and just reuse "now" for the initial
> > > > > value of CLOCK_REALTIME.
> > > > > 
> > > > > How is this?
> > > > 
> > > > How about this instead?
> > > 
> > > Looks like an improvement
> > > 
> > > The suggestion to change 'ms' to 'us' might be a good one to roll into
> > > this changeset too.
> > 
> > Ah right, we print us not ms.
> >  
> > > nitpick: the changeset doesn't apply cleanly:
> > 
> > Forgot to update that tree :)
> > 
> > Updated diff below
> 
> This is fine by me, you took most of what I wanted, and even
> the "ms" -> "us" name change :)
> 
> One nit below, otherwise: ok cheloha@
> 
> > Index: ts.c
> > ===================================================================
> > RCS file: /cvs/src/usr.bin/ts/ts.c,v
> > retrieving revision 1.6
> > diff -u -p -r1.6 ts.c
> > --- ts.c    4 Jul 2022 17:29:03 -0000       1.6
> > +++ ts.c    5 Jul 2022 09:51:38 -0000
> > @@ -32,7 +32,7 @@ static char               *buf;
> >  static char                *outbuf;
> >  static size_t               bufsize;
> >  
> > -static void                 fmtfmt(struct tm *, long);
> > +static void                 fmtfmt(const struct timespec *);
> >  static void __dead  usage(void);
> >  
> >  int
> > @@ -40,8 +40,7 @@ main(int argc, char *argv[])
> >  {
> >     int iflag, mflag, sflag;
> >     int ch, prev;
> > -   struct timespec roff, start, now;
> > -   struct tm *tm;
> > +   struct timespec start, now, utc_offset, ts;
> >     clockid_t clock = CLOCK_REALTIME;
> >  
> >     if (pledge("stdio", NULL) == -1)
> > @@ -93,22 +92,22 @@ main(int argc, char *argv[])
> >             if (setenv("TZ", "UTC", 1) == -1)
> >                     err(1, "setenv UTC");
> >  
> > -   clock_gettime(CLOCK_REALTIME, &roff);
> >     clock_gettime(clock, &start);
> > -   timespecsub(&roff, &start, &roff);
> > +   clock_gettime(CLOCK_REALTIME, &utc_offset);
> > +   timespecsub(&utc_offset, &start, &utc_offset);
> 
> You don't need to initialize utc_offset except in the -m flag case.

I did not do this because I think it is an micro-optimisation that is not
really worth it.

-- 
:wq Claudio

Reply via email to