mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
Merge branch 'rs/ring-buffer-wraparound' into maint
The code that we have used for the past 10+ years to cycle 4-element ring buffers turns out to be not quite portable in theoretical world. * rs/ring-buffer-wraparound: hex: make wraparound of the index into ring-buffer explicit
This commit is contained in:
commit
f2ad912f99
3
hex.c
3
hex.c
|
@ -78,7 +78,8 @@ char *sha1_to_hex(const unsigned char *sha1)
|
|||
{
|
||||
static int bufno;
|
||||
static char hexbuffer[4][GIT_SHA1_HEXSZ + 1];
|
||||
return sha1_to_hex_r(hexbuffer[3 & ++bufno], sha1);
|
||||
bufno = (bufno + 1) % ARRAY_SIZE(hexbuffer);
|
||||
return sha1_to_hex_r(hexbuffer[bufno], sha1);
|
||||
}
|
||||
|
||||
char *oid_to_hex(const struct object_id *oid)
|
||||
|
|
3
path.c
3
path.c
|
@ -24,7 +24,8 @@ static struct strbuf *get_pathname(void)
|
|||
STRBUF_INIT, STRBUF_INIT, STRBUF_INIT, STRBUF_INIT
|
||||
};
|
||||
static int index;
|
||||
struct strbuf *sb = &pathname_array[3 & ++index];
|
||||
struct strbuf *sb = &pathname_array[index];
|
||||
index = (index + 1) % ARRAY_SIZE(pathname_array);
|
||||
strbuf_reset(sb);
|
||||
return sb;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue