Link Here
|
537 |
quotearg_colon (dir))); |
537 |
quotearg_colon (dir))); |
538 |
} |
538 |
} |
|
|
539 |
static void |
540 |
free_delayed_set_stat (struct delayed_set_stat *data) |
541 |
{ |
542 |
xheader_xattr_free (data->xattr_map, data->xattr_map_size); |
543 |
free (data->cntx_name); |
544 |
free (data->acls_a_ptr); |
545 |
free (data->acls_d_ptr); |
546 |
free (data); |
547 |
} |
548 |
|
549 |
void |
550 |
remove_delayed_set_stat (const char *fname) |
551 |
{ |
552 |
struct delayed_set_stat *data, *next, *prev = NULL; |
553 |
for (data = delayed_set_stat_head; data; data = next) |
554 |
{ |
555 |
next = data->next; |
556 |
if (strcmp (data->file_name, fname) == 0) |
557 |
{ |
558 |
free_delayed_set_stat (data); |
559 |
if (prev) |
560 |
prev->next = next; |
561 |
else |
562 |
delayed_set_stat_head = next; |
563 |
return; |
564 |
} |
565 |
else |
566 |
prev = data; |
567 |
} |
568 |
} |
569 |
|
539 |
/* After a file/link/directory creation has failed, see if |
570 |
/* After a file/link/directory creation has failed, see if |
540 |
it's because some required directory was not present, and if so, |
571 |
it's because some required directory was not present, and if so, |
541 |
create all required directories. Return zero if all the required |
572 |
create all required directories. Return zero if all the required |
Link Here
|
846 |
} |
877 |
} |
847 |
delayed_set_stat_head = data->next; |
878 |
delayed_set_stat_head = data->next; |
848 |
xheader_xattr_free (data->xattr_map, data->xattr_map_size); |
879 |
free_delayed_set_stat (data); |
849 |
free (data->cntx_name); |
|
|
850 |
free (data->acls_a_ptr); |
851 |
free (data->acls_d_ptr); |
852 |
free (data); |
853 |
} |
880 |
} |
854 |
} |
881 |
} |