X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Flookup_table.c;h=364f469ed08ab7a89426d72f6d41df8868385023;hb=999a45964048b4b34e8751a6ca06d834a1958bde;hp=d1be89b81228fa321e85f39fdd644b0c34ffe06c;hpb=e6227e4978dd41e0726ef1b54713089d343b57de;p=wimlib diff --git a/src/lookup_table.c b/src/lookup_table.c index d1be89b8..364f469e 100644 --- a/src/lookup_table.c +++ b/src/lookup_table.c @@ -626,7 +626,7 @@ out: } #endif -static void inode_resolve_ltes(struct inode *inode, struct lookup_table *table) +void inode_resolve_ltes(struct inode *inode, struct lookup_table *table) { struct lookup_table_entry *lte; @@ -704,7 +704,7 @@ int dentry_unresolve_ltes(struct dentry *dentry, void *ignore) */ struct lookup_table_entry * inode_unnamed_lte(const struct inode *inode, - const struct lookup_table *table) + const struct lookup_table *table) { if (inode->resolved) return inode_unnamed_lte_resolved(inode); @@ -712,3 +712,16 @@ inode_unnamed_lte(const struct inode *inode, return inode_unnamed_lte_unresolved(inode, table); } +static int lte_add_stream_size(struct lookup_table_entry *lte, + void *total_bytes_p) +{ + *(u64*)total_bytes_p += lte->resource_entry.size; + return 0; +} + +u64 lookup_table_total_stream_size(struct lookup_table *table) +{ + u64 total_size = 0; + for_lookup_table_entry(table, lte_add_stream_size, &total_size); + return total_size; +}