]> wimlib.net Git - wimlib/blobdiff - src/dentry.c
Case insensitive exclusion pattern matching
[wimlib] / src / dentry.c
index d8b3e60edd156a68e4c532131b0b437537b1c824..3f258b76d9151e8e1e6101d155a900c6fb78e05c 100644 (file)
@@ -99,13 +99,18 @@ void dentry_update_all_timestamps(struct dentry *dentry)
 struct ads_entry *dentry_get_ads_entry(struct dentry *dentry,
                                       const char *stream_name)
 {
-       size_t stream_name_len = strlen(stream_name);
+       size_t stream_name_len;
        if (!stream_name)
                return NULL;
-       for (u16 i = 0; i < dentry->num_ads; i++)
-               if (ads_entry_has_name(&dentry->ads_entries[i],
-                                      stream_name, stream_name_len))
-                       return &dentry->ads_entries[i];
+       if (dentry->num_ads) {
+               u16 i = 0;
+               stream_name_len = strlen(stream_name);
+               do {
+                       if (ads_entry_has_name(&dentry->ads_entries[i],
+                                              stream_name, stream_name_len))
+                               return &dentry->ads_entries[i];
+               } while (++i != dentry->num_ads);
+       }
        return NULL;
 }
 
@@ -473,6 +478,7 @@ int print_dentry(struct dentry *dentry, void *lookup_table)
                        printf("Hash              = 0x"); 
                        print_hash(hash);
                        putchar('\n');
+                       putchar('\n');
                }
        }
        for (u16 i = 0; i < dentry->num_ads; i++) {