Merge branch 'rs/ring-buffer-wraparound'
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
00d7cc0c0b
3
hex.c
3
hex.c
@ -78,7 +78,8 @@ char *sha1_to_hex(const unsigned char *sha1)
|
|||||||
{
|
{
|
||||||
static int bufno;
|
static int bufno;
|
||||||
static char hexbuffer[4][GIT_SHA1_HEXSZ + 1];
|
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)
|
char *oid_to_hex(const struct object_id *oid)
|
||||||
|
3
path.c
3
path.c
@ -25,7 +25,8 @@ static struct strbuf *get_pathname(void)
|
|||||||
STRBUF_INIT, STRBUF_INIT, STRBUF_INIT, STRBUF_INIT
|
STRBUF_INIT, STRBUF_INIT, STRBUF_INIT, STRBUF_INIT
|
||||||
};
|
};
|
||||||
static int index;
|
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);
|
strbuf_reset(sb);
|
||||||
return sb;
|
return sb;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user