Re: pull: hwclock 27 changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 8 Jan 2017, J William Piggott wrote:

> > @@ -655,7 +655,8 @@ display_time(const bool hclock_valid, struct timeval hwctime)
> >   * If anything goes wrong (and many things can), we return return code 10
> >   * and arbitrary *time_p. Otherwise, return code is 0 and *time_p is valid.
> >   */
> > -static int interpret_date_string(const struct hwclock_control *ctl, time_t * const time_p)
> > +static int interpret_date_string(const struct hwclock_control *ctl,
> > +				 time_t *const time_p)
> 
> 
> Sorry for nitpicking. I know you didn't write this, but as long as
> you're making a change here, shouldn't it be: const time_t *time_p?

Nope. That will make pointer value read-only, and that would cause 
following error.

sys-utils/hwclock.c:720:11: error: assignment of read-only location '*time_p'
   *time_p = seconds_since_epoch;

Code we have makes the pointer read-only, but leaves value writeable.

> > @@ -1031,9 +1032,7 @@ calculate_adjustment(const struct hwclock_control *ctl,
> >  	exact_adjustment =
> >  	    ((double)(systime - last_time)) * factor / (24 * 60 * 60)
> >  	    + not_adjusted;
> > -	tdrift_p->tv_sec = (int) exact_adjustment;
> > -	if (exact_adjustment < 0)
> > -		tdrift_p->tv_sec--;
> > +	tdrift_p->tv_sec = (int) floor(exact_adjustment);
> 
> Is the cast required now?

floor(3) will return double, tv_sec is time_t. Yes I should and have 
fixed the cast from int to time_t.

> >> @@ -158,28 +158,31 @@ static int do_rtc_read_ioctl(int rtc_fd, struct tm *tm)
> >>  {
> >>  	int rc = -1;
> >>  	char *ioctlname;
> >> -
> >>  #ifdef __sparc__
> >>  	/* some but not all sparcs use a different ioctl and struct */
> >>  	struct sparc_rtc_time stm;
> >> +#endif
> >>
> >>  8< -------
> >>
> >>>
> >>> Can't this be in the sparc ifdef just after this?
> >>>
> >>> Otherwise looks OK, thank you.
> >>>
> > 
> > That would mix declaration and code. Kept as is.
> 
> You mean keeping declarations at the top, I see. We break that rule
> sometimes. I think the code would look nicer in this case. But I don't
> have a strong opinion about it. It's fine your way.

Since C99 it is allowed to mix declarations and code, but quite franky I 
find it irritating when declarations are hidden somewhere halfway down 
function. Same story with #defines they should be at top of the file after 
#includes before any functions - and no where else. IMHO these sort of 
conventios make code reading, and understanding, easier.

-- snip

There is now new commit that removes --compare option, and all related 
stuff. Naturally the earlier integer arithmetics change and deprecation in 
manual page are removed from changes.

https://github.com/kerolasa/lelux-utiliteetit/commit/d3e33557e6794446c712ca264e54fe4b186a17ca

----------------------------------------------------------------
The following changes since commit 89958178f6d6ebe0944d423feaea66be521fff43:
  If mtab support is disabled, disable ro/rw mtab checks (2017-01-10 17:32:32 +0100)
are available in the git repository at:
  git://github.com/kerolasa/lelux-utiliteetit.git hwclock-jwp-reviewed
for you to fetch changes up to d3e33557e6794446c712ca264e54fe4b186a17ca:
  hwclock: remove --compare option (2017-01-11 21:04:36 +0000)
----------------------------------------------------------------

Thank you JWP for reviews, I hope I did not miss anything but if I did let 
me know and I will follow up. Even better if everyone agrees that this is 
now good enough to be merged, and we can move forward with other updates 
such as adjtimex(8) work.

-- 
Sami Kerola
http://www.iki.fi/kerolasa/
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux