Thread (20 messages) flat view 20 messages, 5 authors, 2016-06-15

Re: [PATCH 2/3] sha1_file: add the ability to parse objects in "pack file format"

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:33

Hi,

On Tue, 11 Jul 2006, Linus Torvalds wrote:
On Tue, 11 Jul 2006, Johannes Schindelin wrote:
quoted
You might want to add a comment saying "since the type is lowercase in 
ascii format, object_type must be 6 or 7, which is an invalid object 
type." It took me a little to figure that out...
It's not even correct in my version - I check the ASCII header _first_, so 
by the time it looks at the binary one, it already knows it's not ascii.
Just realized it all by myself...
Or, more likely, the parse_sha1_header() function should just be changed 
to check the binary format first (and then add your comment about why that 
is safe).
Yes, exactly.
quoted
quoted
+	bits = 4;
+	while (!(c & 0x80)) {
+		if (bits >= 8*sizeof(unsigned long))
+			return -1;
+		c = *hdr++;
+		size += (unsigned long) (c & 0x7f) << bits;
+		bytes++;
+		bits += 7;
+	}
Are you not losing the last byte by putting the "while" _before_ instead 
of _after_ the loop?
No. The very first byte can have the 0x80 end marker, when the size was 
between 0..15.
Yes, I understand now. I was a little confused by the way it is written...

Thanks for the clarification,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help