[Toybox] [PATCH 1/2] Fixed 3 bugs from the android code review
Moritz C. Weber
mo.c.weber at gmail.com
Thu Jan 19 16:45:06 PST 2023
---
toys/pending/git.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/toys/pending/git.c b/toys/pending/git.c
index 63e8dcc4..505bcee5 100644
--- a/toys/pending/git.c
+++ b/toys/pending/git.c
@@ -117,7 +117,7 @@ static void read_index(struct IndexV2 *i)
}
}
-long bsearchpos(const void *k, const void *a, size_t h, size_t w)
+long bsearchpos(const char *k, const char *a, size_t h, size_t w)
{
long l = 0, m = 0, r = 0;
@@ -277,7 +277,7 @@ long set_object(struct IndexV2 *idx, int type, char *o, unsigned count,
//Did not fix the TODO yet, because set_object could be reused for other commands adding single objects to the index
idx->sha1 = realloc(idx->sha1, (idx->fot[255]+1)*20*sizeof(char));
- printf("Mem copy sha1 array..sizeof(idx->sha1)%ld\n", sizeof(idx->sha1));
+ printf("Mem copy sha1 array..sizeof(idx->sha1)%zu\n", sizeof(idx->sha1));
memmove(&idx->sha1[pos+1], &idx->sha1[pos], (idx->fot[255]-pos)*20*sizeof(char));
printf("Resize offset\n");
idx->offset = realloc(idx->offset, (idx->fot[255]+1)*sizeof(unsigned));
@@ -362,7 +362,7 @@ char *resolve_delta(char *s, char *d, long dsize, unsigned *count)
int i = 0, j = 1;
unsigned offset = 0, size = 0;
- if ((d[pos]&0x80)) {//https://github.com/git/git/blob/master/Documentation/gitformat-pack.txt#L87
+ if ((d[pos]&0x80)) {//https://github.com/git/git/blob/master/Documentation/gitformat-pack.txt#L128
//https://stackoverflow.com/a/14303988
printf("Case 1\n");
while (i<4) {
@@ -374,7 +374,7 @@ char *resolve_delta(char *s, char *d, long dsize, unsigned *count)
}
while (i<7) {
if (d[pos]&(1<<i)) {
- size |= d[pos+j]<<((i+4)*8);
+ size |= d[pos+j]<<(i*8);
j++;
}
i++;
@@ -388,7 +388,7 @@ char *resolve_delta(char *s, char *d, long dsize, unsigned *count)
pos += j;
printf("Pos\n");
} else {
- //https://github.com/git/git/blob/master/Documentation/gitformat-pack.txt#L153
+ //https://github.com/git/git/blob/master/Documentation/gitformat-pack.txt#L158
printf("Case 0\n");
size = d[pos++]; //incrememt
memcpy(t+*count, d+pos, size);
@@ -462,7 +462,7 @@ void write_children(char *hash, char *path, FILE *fpp)
char *object;
int type;
long offset;
- unsigned count;
+ unsigned count=0;
printf("seek index\n");
--
2.20.1
More information about the Toybox
mailing list