@@ -629,7 +629,7 @@ static int open_packed_git(struct packed_git *p)
629629 return -1 ;
630630}
631631
632- static int in_window (struct pack_window * win , unsigned long offset )
632+ static int in_window (struct pack_window * win , off_t offset )
633633{
634634 /* We must promise at least 20 bytes (one hash) after the
635635 * offset is available from this window, otherwise the offset
@@ -644,7 +644,7 @@ static int in_window(struct pack_window *win, unsigned long offset)
644644
645645unsigned char * use_pack (struct packed_git * p ,
646646 struct pack_window * * w_cursor ,
647- unsigned long offset ,
647+ off_t offset ,
648648 unsigned int * left )
649649{
650650 struct pack_window * win = * w_cursor ;
@@ -1049,14 +1049,14 @@ void * unpack_sha1_file(void *map, unsigned long mapsize, enum object_type *type
10491049 return unpack_sha1_rest (& stream , hdr , * size );
10501050}
10511051
1052- static unsigned long get_delta_base (struct packed_git * p ,
1052+ static off_t get_delta_base (struct packed_git * p ,
10531053 struct pack_window * * w_curs ,
1054- unsigned long * curpos ,
1054+ off_t * curpos ,
10551055 enum object_type type ,
1056- unsigned long delta_obj_offset )
1056+ off_t delta_obj_offset )
10571057{
10581058 unsigned char * base_info = use_pack (p , w_curs , * curpos , NULL );
1059- unsigned long base_offset ;
1059+ off_t base_offset ;
10601060
10611061 /* use_pack() assured us we have [base_info, base_info + 20)
10621062 * as a range that we can look at without walking off the
@@ -1092,17 +1092,17 @@ static unsigned long get_delta_base(struct packed_git *p,
10921092}
10931093
10941094/* forward declaration for a mutually recursive function */
1095- static int packed_object_info (struct packed_git * p , unsigned long offset ,
1095+ static int packed_object_info (struct packed_git * p , off_t offset ,
10961096 unsigned long * sizep );
10971097
10981098static int packed_delta_info (struct packed_git * p ,
10991099 struct pack_window * * w_curs ,
1100- unsigned long curpos ,
1100+ off_t curpos ,
11011101 enum object_type type ,
1102- unsigned long obj_offset ,
1102+ off_t obj_offset ,
11031103 unsigned long * sizep )
11041104{
1105- unsigned long base_offset ;
1105+ off_t base_offset ;
11061106
11071107 base_offset = get_delta_base (p , w_curs , & curpos , type , obj_offset );
11081108 type = packed_object_info (p , base_offset , NULL );
@@ -1152,7 +1152,7 @@ static int packed_delta_info(struct packed_git *p,
11521152
11531153static int unpack_object_header (struct packed_git * p ,
11541154 struct pack_window * * w_curs ,
1155- unsigned long * curpos ,
1155+ off_t * curpos ,
11561156 unsigned long * sizep )
11571157{
11581158 unsigned char * base ;
@@ -1176,14 +1176,15 @@ static int unpack_object_header(struct packed_git *p,
11761176}
11771177
11781178const char * packed_object_info_detail (struct packed_git * p ,
1179- unsigned long obj_offset ,
1179+ off_t obj_offset ,
11801180 unsigned long * size ,
11811181 unsigned long * store_size ,
11821182 unsigned int * delta_chain_length ,
11831183 unsigned char * base_sha1 )
11841184{
11851185 struct pack_window * w_curs = NULL ;
1186- unsigned long curpos , dummy ;
1186+ off_t curpos ;
1187+ unsigned long dummy ;
11871188 unsigned char * next_sha1 ;
11881189 enum object_type type ;
11891190
@@ -1223,11 +1224,12 @@ const char *packed_object_info_detail(struct packed_git *p,
12231224 }
12241225}
12251226
1226- static int packed_object_info (struct packed_git * p , unsigned long obj_offset ,
1227+ static int packed_object_info (struct packed_git * p , off_t obj_offset ,
12271228 unsigned long * sizep )
12281229{
12291230 struct pack_window * w_curs = NULL ;
1230- unsigned long size , curpos = obj_offset ;
1231+ unsigned long size ;
1232+ off_t curpos = obj_offset ;
12311233 enum object_type type ;
12321234
12331235 type = unpack_object_header (p , & w_curs , & curpos , & size );
@@ -1255,7 +1257,7 @@ static int packed_object_info(struct packed_git *p, unsigned long obj_offset,
12551257
12561258static void * unpack_compressed_entry (struct packed_git * p ,
12571259 struct pack_window * * w_curs ,
1258- unsigned long curpos ,
1260+ off_t curpos ,
12591261 unsigned long size )
12601262{
12611263 int st ;
@@ -1286,20 +1288,22 @@ static void *unpack_compressed_entry(struct packed_git *p,
12861288
12871289static void * unpack_delta_entry (struct packed_git * p ,
12881290 struct pack_window * * w_curs ,
1289- unsigned long curpos ,
1291+ off_t curpos ,
12901292 unsigned long delta_size ,
1291- unsigned long obj_offset ,
1293+ off_t obj_offset ,
12921294 enum object_type * type ,
12931295 unsigned long * sizep )
12941296{
12951297 void * delta_data , * result , * base ;
1296- unsigned long base_size , base_offset ;
1298+ unsigned long base_size ;
1299+ off_t base_offset ;
12971300
12981301 base_offset = get_delta_base (p , w_curs , & curpos , * type , obj_offset );
12991302 base = unpack_entry (p , base_offset , type , & base_size );
13001303 if (!base )
1301- die ("failed to read delta base object at %lu from %s" ,
1302- base_offset , p -> pack_name );
1304+ die ("failed to read delta base object"
1305+ " at %" PRIuMAX " from %s" ,
1306+ (uintmax_t )base_offset , p -> pack_name );
13031307
13041308 delta_data = unpack_compressed_entry (p , w_curs , curpos , delta_size );
13051309 result = patch_delta (base , base_size ,
@@ -1312,11 +1316,11 @@ static void *unpack_delta_entry(struct packed_git *p,
13121316 return result ;
13131317}
13141318
1315- void * unpack_entry (struct packed_git * p , unsigned long obj_offset ,
1319+ void * unpack_entry (struct packed_git * p , off_t obj_offset ,
13161320 enum object_type * type , unsigned long * sizep )
13171321{
13181322 struct pack_window * w_curs = NULL ;
1319- unsigned long curpos = obj_offset ;
1323+ off_t curpos = obj_offset ;
13201324 void * data ;
13211325
13221326 * type = unpack_object_header (p , & w_curs , & curpos , sizep );
@@ -1355,7 +1359,7 @@ int nth_packed_object_sha1(const struct packed_git *p, uint32_t n,
13551359 return 0 ;
13561360}
13571361
1358- unsigned long find_pack_entry_one (const unsigned char * sha1 ,
1362+ off_t find_pack_entry_one (const unsigned char * sha1 ,
13591363 struct packed_git * p )
13601364{
13611365 uint32_t * level1_ofs = p -> index_base ;
@@ -1397,7 +1401,7 @@ static int matches_pack_name(struct packed_git *p, const char *ig)
13971401static int find_pack_entry (const unsigned char * sha1 , struct pack_entry * e , const char * * ignore_packed )
13981402{
13991403 struct packed_git * p ;
1400- unsigned long offset ;
1404+ off_t offset ;
14011405
14021406 prepare_packed_git ();
14031407
0 commit comments