I'm indifferent as to alignment, left alignment sounds fine as it's
easier for parsing and grepping.

Width: IMO 20, not 16, since offsets are 64-bit.  (And there is no need
to be a power of 2, because (a) we use atomic move-into-place without
in-place edits, and (b) the sequence number is currently supposed to be
at the start, so it'd throw off the block alignment anyway.)

Overflow: yes, we should check for that, at write time or at read time.
Or both.  I think svn__atoui64() take care of that for the 'read' end...

Peter Samuelson wrote on Thu, Jul 07, 2011 at 12:12:29 -0500:
> 
> [[email protected]]
> > +      /* Update the manifest. */
> > +      SVN_ERR(svn_stream_printf(manifest_stream, iterpool,
> > +                                "%016" APR_OFF_T_FMT, next_offset));
> > +      next_offset += finfo.size;
> 
> Bikeshed time!  I think space-padding (either %16 or %-16) would look
> better than the zero-padding.  The only reason to use ASCII digits is
> for human readability, after all, right?  left-alignint (%-16) also
> means the scanf at the other end only has to scan 6 or so digits
> instead of all 16, not that that's meaningful. (:
> 
> Also, for purely theoretical defense against ridiculousness, should we
> assert(next_offset <= 9999999999999999llu) or so?  (Not sure if there's
> a portable suffix for a 64-bit constant.)  Overflow is basically
> impossible with today's computing and disk resources, but it would be
> kinda bad if anyone managed to get it to happen.
> -- 
> Peter Samuelson | org-tld!p12n!peter | http://p12n.org/

Reply via email to