all do); get rid of the test for a null return from
wtap_file_type_string().)
If wtap_get_file_extensions_list() returns NULL, include the file type
in the list of filters, and use "*.*" as the filter. That way the list
of filters will include all file types, even if you can't really ask
only for files of that type (actually, you can't really ask only for
files of *any* type unless you're running under a desktop environment
where file types are specified by, for example, looking for magic
numbers, as there's no guarantee that, for example, a pcap file will
have an extension at all, given that it might come from a command-line
tool that doesn't default to any extension).
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@40650
f5534014-38df-0310-8fa8-
9805f1628bb7
}
/* OK, we can write it out in this type. */
}
/* OK, we can write it out in this type. */
- if(wtap_file_type_string(ft) == NULL)
- continue;
extensions_list = wtap_get_file_extensions_list(ft);
extensions_list = wtap_get_file_extensions_list(ft);
- if (extensions_list == NULL)
- continue;
-
- /* Construct the list of patterns. */
- g_string_printf(pattern_str, "");
- sep = '\0';
- for (extension = extensions_list; extension != NULL;
- extension = g_slist_next(extension)) {
- if (sep != '\0')
- g_string_append_c(pattern_str, sep);
- g_string_append_printf(pattern_str, "*.%s", (char *)extension->data);
- sep = ';';
+ if (extensions_list == NULL) {
+ /* This file type doesn't have any particular extension
+ conventionally used for it, so we'll just use "*.*"
+ as the pattern; on Windows, that matches all file names
+ - even those with no extension - so we don't need to
+ worry about compressed file extensions. (It does not
+ do so on UN*X; the right pattern on UN*X would just
+ be "*".) */
+ g_string_printf(pattern_str, "*.*");
+ } else {
+ /* Construct the list of patterns. */
+ g_string_printf(pattern_str, "");
+ sep = '\0';
+ for (extension = extensions_list; extension != NULL;
+ extension = g_slist_next(extension)) {
+ if (sep != '\0')
+ g_string_append_c(pattern_str, sep);
+ g_string_append_printf(pattern_str, "*.%s", (char *)extension->data);
+ sep = ';';
+ }
}
/* Construct the description. */
}
/* Construct the description. */