@@ -629,7 +629,7 @@ static int open_packed_git(struct packed_git *p)
629
629
return -1 ;
630
630
}
631
631
632
- static int in_window (struct pack_window * win , unsigned long offset )
632
+ static int in_window (struct pack_window * win , off_t offset )
633
633
{
634
634
/* We must promise at least 20 bytes (one hash) after the
635
635
* offset is available from this window, otherwise the offset
@@ -644,7 +644,7 @@ static int in_window(struct pack_window *win, unsigned long offset)
644
644
645
645
unsigned char * use_pack (struct packed_git * p ,
646
646
struct pack_window * * w_cursor ,
647
- unsigned long offset ,
647
+ off_t offset ,
648
648
unsigned int * left )
649
649
{
650
650
struct pack_window * win = * w_cursor ;
@@ -1049,14 +1049,14 @@ void * unpack_sha1_file(void *map, unsigned long mapsize, enum object_type *type
1049
1049
return unpack_sha1_rest (& stream , hdr , * size );
1050
1050
}
1051
1051
1052
- static unsigned long get_delta_base (struct packed_git * p ,
1052
+ static off_t get_delta_base (struct packed_git * p ,
1053
1053
struct pack_window * * w_curs ,
1054
- unsigned long * curpos ,
1054
+ off_t * curpos ,
1055
1055
enum object_type type ,
1056
- unsigned long delta_obj_offset )
1056
+ off_t delta_obj_offset )
1057
1057
{
1058
1058
unsigned char * base_info = use_pack (p , w_curs , * curpos , NULL );
1059
- unsigned long base_offset ;
1059
+ off_t base_offset ;
1060
1060
1061
1061
/* use_pack() assured us we have [base_info, base_info + 20)
1062
1062
* 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,
1092
1092
}
1093
1093
1094
1094
/* 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 ,
1096
1096
unsigned long * sizep );
1097
1097
1098
1098
static int packed_delta_info (struct packed_git * p ,
1099
1099
struct pack_window * * w_curs ,
1100
- unsigned long curpos ,
1100
+ off_t curpos ,
1101
1101
enum object_type type ,
1102
- unsigned long obj_offset ,
1102
+ off_t obj_offset ,
1103
1103
unsigned long * sizep )
1104
1104
{
1105
- unsigned long base_offset ;
1105
+ off_t base_offset ;
1106
1106
1107
1107
base_offset = get_delta_base (p , w_curs , & curpos , type , obj_offset );
1108
1108
type = packed_object_info (p , base_offset , NULL );
@@ -1152,7 +1152,7 @@ static int packed_delta_info(struct packed_git *p,
1152
1152
1153
1153
static int unpack_object_header (struct packed_git * p ,
1154
1154
struct pack_window * * w_curs ,
1155
- unsigned long * curpos ,
1155
+ off_t * curpos ,
1156
1156
unsigned long * sizep )
1157
1157
{
1158
1158
unsigned char * base ;
@@ -1176,14 +1176,15 @@ static int unpack_object_header(struct packed_git *p,
1176
1176
}
1177
1177
1178
1178
const char * packed_object_info_detail (struct packed_git * p ,
1179
- unsigned long obj_offset ,
1179
+ off_t obj_offset ,
1180
1180
unsigned long * size ,
1181
1181
unsigned long * store_size ,
1182
1182
unsigned int * delta_chain_length ,
1183
1183
unsigned char * base_sha1 )
1184
1184
{
1185
1185
struct pack_window * w_curs = NULL ;
1186
- unsigned long curpos , dummy ;
1186
+ off_t curpos ;
1187
+ unsigned long dummy ;
1187
1188
unsigned char * next_sha1 ;
1188
1189
enum object_type type ;
1189
1190
@@ -1223,11 +1224,12 @@ const char *packed_object_info_detail(struct packed_git *p,
1223
1224
}
1224
1225
}
1225
1226
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 ,
1227
1228
unsigned long * sizep )
1228
1229
{
1229
1230
struct pack_window * w_curs = NULL ;
1230
- unsigned long size , curpos = obj_offset ;
1231
+ unsigned long size ;
1232
+ off_t curpos = obj_offset ;
1231
1233
enum object_type type ;
1232
1234
1233
1235
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,
1255
1257
1256
1258
static void * unpack_compressed_entry (struct packed_git * p ,
1257
1259
struct pack_window * * w_curs ,
1258
- unsigned long curpos ,
1260
+ off_t curpos ,
1259
1261
unsigned long size )
1260
1262
{
1261
1263
int st ;
@@ -1286,20 +1288,22 @@ static void *unpack_compressed_entry(struct packed_git *p,
1286
1288
1287
1289
static void * unpack_delta_entry (struct packed_git * p ,
1288
1290
struct pack_window * * w_curs ,
1289
- unsigned long curpos ,
1291
+ off_t curpos ,
1290
1292
unsigned long delta_size ,
1291
- unsigned long obj_offset ,
1293
+ off_t obj_offset ,
1292
1294
enum object_type * type ,
1293
1295
unsigned long * sizep )
1294
1296
{
1295
1297
void * delta_data , * result , * base ;
1296
- unsigned long base_size , base_offset ;
1298
+ unsigned long base_size ;
1299
+ off_t base_offset ;
1297
1300
1298
1301
base_offset = get_delta_base (p , w_curs , & curpos , * type , obj_offset );
1299
1302
base = unpack_entry (p , base_offset , type , & base_size );
1300
1303
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 );
1303
1307
1304
1308
delta_data = unpack_compressed_entry (p , w_curs , curpos , delta_size );
1305
1309
result = patch_delta (base , base_size ,
@@ -1312,11 +1316,11 @@ static void *unpack_delta_entry(struct packed_git *p,
1312
1316
return result ;
1313
1317
}
1314
1318
1315
- void * unpack_entry (struct packed_git * p , unsigned long obj_offset ,
1319
+ void * unpack_entry (struct packed_git * p , off_t obj_offset ,
1316
1320
enum object_type * type , unsigned long * sizep )
1317
1321
{
1318
1322
struct pack_window * w_curs = NULL ;
1319
- unsigned long curpos = obj_offset ;
1323
+ off_t curpos = obj_offset ;
1320
1324
void * data ;
1321
1325
1322
1326
* 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,
1355
1359
return 0 ;
1356
1360
}
1357
1361
1358
- unsigned long find_pack_entry_one (const unsigned char * sha1 ,
1362
+ off_t find_pack_entry_one (const unsigned char * sha1 ,
1359
1363
struct packed_git * p )
1360
1364
{
1361
1365
uint32_t * level1_ofs = p -> index_base ;
@@ -1397,7 +1401,7 @@ static int matches_pack_name(struct packed_git *p, const char *ig)
1397
1401
static int find_pack_entry (const unsigned char * sha1 , struct pack_entry * e , const char * * ignore_packed )
1398
1402
{
1399
1403
struct packed_git * p ;
1400
- unsigned long offset ;
1404
+ off_t offset ;
1401
1405
1402
1406
prepare_packed_git ();
1403
1407
0 commit comments