Merge branch 'lt/maint-unsigned-left-shift'

* lt/maint-unsigned-left-shift:
  Fix big left-shifts of unsigned char
maint
Junio C Hamano 2009-06-20 21:46:10 -07:00
commit 7c74c3926a
8 changed files with 12 additions and 16 deletions

3
attr.c
View File

@ -35,8 +35,7 @@ static struct git_attr *(git_attr_hash[HASHSIZE]);


static unsigned hash_name(const char *name, int namelen) static unsigned hash_name(const char *name, int namelen)
{ {
unsigned val = 0; unsigned val = 0, c;
unsigned char c;


while (namelen--) { while (namelen--) {
c = *name++; c = *name++;

View File

@ -91,7 +91,7 @@ void encode_85(char *buf, const unsigned char *data, int bytes)
unsigned acc = 0; unsigned acc = 0;
int cnt; int cnt;
for (cnt = 24; cnt >= 0; cnt -= 8) { for (cnt = 24; cnt >= 0; cnt -= 8) {
int ch = *data++; unsigned ch = *data++;
acc |= ch << cnt; acc |= ch << cnt;
if (--bytes == 0) if (--bytes == 0)
break; break;

View File

@ -653,8 +653,7 @@ static void rehash_objects(void)


static unsigned name_hash(const char *name) static unsigned name_hash(const char *name)
{ {
unsigned char c; unsigned c, hash = 0;
unsigned hash = 0;


if (!name) if (!name)
return 0; return 0;

View File

@ -422,8 +422,8 @@ static void unpack_delta_entry(enum object_type type, unsigned long delta_size,
static void unpack_one(unsigned nr) static void unpack_one(unsigned nr)
{ {
unsigned shift; unsigned shift;
unsigned char *pack, c; unsigned char *pack;
unsigned long size; unsigned long size, c;
enum object_type type; enum object_type type;


obj_list[nr].offset = consumed_bytes; obj_list[nr].offset = consumed_bytes;

View File

@ -90,12 +90,11 @@ static inline unsigned long get_delta_hdr_size(const unsigned char **datap,
const unsigned char *top) const unsigned char *top)
{ {
const unsigned char *data = *datap; const unsigned char *data = *datap;
unsigned char cmd; unsigned long cmd, size = 0;
unsigned long size = 0;
int i = 0; int i = 0;
do { do {
cmd = *data++; cmd = *data++;
size |= (cmd & ~0x80) << i; size |= (cmd & 0x7f) << i;
i += 7; i += 7;
} while (cmd & 0x80 && data < top); } while (cmd & 0x80 && data < top);
*datap = data; *datap = data;

View File

@ -293,8 +293,8 @@ static void *unpack_entry_data(unsigned long offset, unsigned long size)


static void *unpack_raw_entry(struct object_entry *obj, union delta_base *delta_base) static void *unpack_raw_entry(struct object_entry *obj, union delta_base *delta_base)
{ {
unsigned char *p, c; unsigned char *p;
unsigned long size; unsigned long size, c;
off_t base_offset; off_t base_offset;
unsigned shift; unsigned shift;
void *data; void *data;
@ -312,7 +312,7 @@ static void *unpack_raw_entry(struct object_entry *obj, union delta_base *delta_
p = fill(1); p = fill(1);
c = *p; c = *p;
use(1); use(1);
size += (c & 0x7fUL) << shift; size += (c & 0x7f) << shift;
shift += 7; shift += 7;
} }
obj->size = size; obj->size = size;

View File

@ -44,7 +44,7 @@ void *patch_delta(const void *src_buf, unsigned long src_size,
if (cmd & 0x01) cp_off = *data++; if (cmd & 0x01) cp_off = *data++;
if (cmd & 0x02) cp_off |= (*data++ << 8); if (cmd & 0x02) cp_off |= (*data++ << 8);
if (cmd & 0x04) cp_off |= (*data++ << 16); if (cmd & 0x04) cp_off |= (*data++ << 16);
if (cmd & 0x08) cp_off |= (*data++ << 24); if (cmd & 0x08) cp_off |= ((unsigned) *data++ << 24);
if (cmd & 0x10) cp_size = *data++; if (cmd & 0x10) cp_size = *data++;
if (cmd & 0x20) cp_size |= (*data++ << 8); if (cmd & 0x20) cp_size |= (*data++ << 8);
if (cmd & 0x40) cp_size |= (*data++ << 16); if (cmd & 0x40) cp_size |= (*data++ << 16);

View File

@ -1162,8 +1162,7 @@ unsigned long unpack_object_header_buffer(const unsigned char *buf,
unsigned long len, enum object_type *type, unsigned long *sizep) unsigned long len, enum object_type *type, unsigned long *sizep)
{ {
unsigned shift; unsigned shift;
unsigned char c; unsigned long size, c;
unsigned long size;
unsigned long used = 0; unsigned long used = 0;


c = buf[used++]; c = buf[used++];