@@ -30,12 +30,12 @@ static char *datasegpath(RelFileNode rnode, ForkNumber forknum,
30
30
BlockNumber segno );
31
31
static int path_cmp (const void * a , const void * b );
32
32
static int final_filemap_cmp (const void * a , const void * b );
33
- static void filemap_list_to_array (void );
33
+ static void filemap_list_to_array (filemap_t * map );
34
34
35
35
/*
36
- * Create a new file map.
36
+ * Create a new file map (stored in the global pointer "filemap") .
37
37
*/
38
- filemap_t *
38
+ void
39
39
filemap_create (void )
40
40
{
41
41
filemap_t * map ;
@@ -48,8 +48,6 @@ filemap_create(void)
48
48
49
49
Assert (filemap == NULL );
50
50
filemap = map ;
51
-
52
- return map ;
53
51
}
54
52
55
53
/*
@@ -271,7 +269,10 @@ process_local_file(const char *path, file_type_t type, size_t oldsize,
271
269
pg_fatal ("remote file list is empty\n" );
272
270
}
273
271
274
- filemap_list_to_array ();
272
+ filemap_list_to_array (map );
273
+
274
+ Assert (map -> array != NULL );
275
+
275
276
qsort (map -> array , map -> narray , sizeof (file_entry_t * ), path_cmp );
276
277
}
277
278
@@ -284,8 +285,8 @@ process_local_file(const char *path, file_type_t type, size_t oldsize,
284
285
285
286
key .path = (char * ) path ;
286
287
key_ptr = & key ;
287
- exists = bsearch (& key_ptr , map -> array , map -> narray , sizeof (file_entry_t * ),
288
- path_cmp ) != NULL ;
288
+ exists = ( bsearch (& key_ptr , map -> array , map -> narray , sizeof (file_entry_t * ),
289
+ path_cmp ) != NULL ) ;
289
290
290
291
/* Remove any file or folder that doesn't exist in the remote system. */
291
292
if (!exists )
@@ -335,7 +336,7 @@ process_block_change(ForkNumber forknum, RelFileNode rnode, BlockNumber blkno)
335
336
filemap_t * map = filemap ;
336
337
file_entry_t * * e ;
337
338
338
- Assert (filemap -> array );
339
+ Assert (map -> array );
339
340
340
341
segno = blkno / RELSEG_SIZE ;
341
342
blkno_inseg = blkno % RELSEG_SIZE ;
@@ -395,38 +396,40 @@ process_block_change(ForkNumber forknum, RelFileNode rnode, BlockNumber blkno)
395
396
}
396
397
397
398
/*
398
- * Convert the linked list of entries in filemap ->first/last to the array,
399
- * filemap ->array.
399
+ * Convert the linked list of entries in map ->first/last to the array,
400
+ * map ->array.
400
401
*/
401
402
static void
402
- filemap_list_to_array (void )
403
+ filemap_list_to_array (filemap_t * map )
403
404
{
404
405
int narray ;
405
406
file_entry_t * entry ,
406
407
* next ;
407
408
408
- filemap -> array =
409
- pg_realloc (filemap -> array ,
410
- (filemap -> nlist + filemap -> narray ) * sizeof (file_entry_t ));
409
+ map -> array = ( file_entry_t * * )
410
+ pg_realloc (map -> array ,
411
+ (map -> nlist + map -> narray ) * sizeof (file_entry_t * ));
411
412
412
- narray = filemap -> narray ;
413
- for (entry = filemap -> first ; entry != NULL ; entry = next )
413
+ narray = map -> narray ;
414
+ for (entry = map -> first ; entry != NULL ; entry = next )
414
415
{
415
- filemap -> array [narray ++ ] = entry ;
416
+ map -> array [narray ++ ] = entry ;
416
417
next = entry -> next ;
417
418
entry -> next = NULL ;
418
419
}
419
- Assert (narray == filemap -> nlist + filemap -> narray );
420
- filemap -> narray = narray ;
421
- filemap -> nlist = 0 ;
422
- filemap -> first = filemap -> last = NULL ;
420
+ Assert (narray == map -> nlist + map -> narray );
421
+ map -> narray = narray ;
422
+ map -> nlist = 0 ;
423
+ map -> first = map -> last = NULL ;
423
424
}
424
425
425
426
void
426
427
filemap_finalize (void )
427
428
{
428
- filemap_list_to_array ();
429
- qsort (filemap -> array , filemap -> narray , sizeof (file_entry_t * ),
429
+ filemap_t * map = filemap ;
430
+
431
+ filemap_list_to_array (map );
432
+ qsort (map -> array , map -> narray , sizeof (file_entry_t * ),
430
433
final_filemap_cmp );
431
434
}
432
435
@@ -466,9 +469,9 @@ calculate_totals(void)
466
469
map -> total_size = 0 ;
467
470
map -> fetch_size = 0 ;
468
471
469
- for (i = 0 ; i < filemap -> narray ; i ++ )
472
+ for (i = 0 ; i < map -> narray ; i ++ )
470
473
{
471
- entry = filemap -> array [i ];
474
+ entry = map -> array [i ];
472
475
473
476
if (entry -> type != FILE_TYPE_REGULAR )
474
477
continue ;
@@ -501,12 +504,13 @@ calculate_totals(void)
501
504
void
502
505
print_filemap (void )
503
506
{
507
+ filemap_t * map = filemap ;
504
508
file_entry_t * entry ;
505
509
int i ;
506
510
507
- for (i = 0 ; i < filemap -> narray ; i ++ )
511
+ for (i = 0 ; i < map -> narray ; i ++ )
508
512
{
509
- entry = filemap -> array [i ];
513
+ entry = map -> array [i ];
510
514
if (entry -> action != FILE_ACTION_NONE ||
511
515
entry -> pagemap .bitmapsize > 0 )
512
516
{
0 commit comments