diff options
author | Guy Harris <guy@alum.mit.edu> | 2012-05-23 03:27:34 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2012-05-23 03:27:34 +0000 |
commit | 322c827a42ba9248eded43a8417a72685558d38a (patch) | |
tree | 4280ac224d8be301c437df3aa6030ce983ac85f9 /ui/win32 | |
parent | 8f5f906146bd4012a214695a362bc97dd0278dbf (diff) | |
download | wireshark-322c827a42ba9248eded43a8417a72685558d38a.tar.gz wireshark-322c827a42ba9248eded43a8417a72685558d38a.tar.bz2 wireshark-322c827a42ba9248eded43a8417a72685558d38a.zip |
Fix comparison of file extension with extensions for the file type -
compare extension with extension, not dot-plus-extension with extension.
Skip unnecesary test.
Clean up white space.
svn path=/trunk/; revision=42803
Diffstat (limited to 'ui/win32')
-rw-r--r-- | ui/win32/file_dlg_win32.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/ui/win32/file_dlg_win32.c b/ui/win32/file_dlg_win32.c index 2476b3adef..5e142ca1cb 100644 --- a/ui/win32/file_dlg_win32.c +++ b/ui/win32/file_dlg_win32.c @@ -326,20 +326,23 @@ win32_save_as_file(HWND h_wnd, action_after_save_e action_after_save, gpointer a filetype = g_array_index(savable_file_types, int, ofn->nFilterIndex - 1); /* - * Append the default file extension if there's none given by the user - * or if they gave one that's not one of the valid extensions for - * the file type. - */ + * Append the default file extension if there's none given by the user + * or if they gave one that's not one of the valid extensions for + * the file type. + */ file_name8 = g_string_new(utf_16to8(file_name16)); file_last_dot = strrchr(file_name8->str,'.'); extensions_list = wtap_get_file_extensions_list(filetype, FALSE); if (extensions_list != NULL) { /* We have one or more extensions for this file type. - Start out assuming we need to add the default one. */ + Start out assuming we need to add the default one. */ add_extension = TRUE; if (file_last_dot != NULL) { + /* Skip past the dot. */ + file_last_dot++; + /* OK, see if the file has one of those extensions. */ - for (extension = extensions_list; extension != NULL && file_last_dot != NULL; + for (extension = extensions_list; extension != NULL; extension = g_slist_next(extension)) { if (g_ascii_strcasecmp((char *)extension->data, file_last_dot) == 0) { /* The file name has one of the extensions for this file type */ @@ -351,7 +354,7 @@ win32_save_as_file(HWND h_wnd, action_after_save_e action_after_save, gpointer a } else { /* We have no extensions for this file type. Don't add one. */ add_extension = FALSE; - } + } if (add_extension) { if (wtap_default_file_extension(filetype) != NULL) { g_string_append_printf(file_name8, ".%s", wtap_default_file_extension(filetype)); @@ -500,20 +503,23 @@ win32_export_specified_packets_file(HWND h_wnd) { filetype = g_array_index(savable_file_types, int, ofn->nFilterIndex - 1); /* - * Append the default file extension if there's none given by the user - * or if they gave one that's not one of the valid extensions for - * the file type. - */ + * Append the default file extension if there's none given by the user + * or if they gave one that's not one of the valid extensions for + * the file type. + */ file_name8 = g_string_new(utf_16to8(file_name16)); file_last_dot = strrchr(file_name8->str,'.'); extensions_list = wtap_get_file_extensions_list(filetype, FALSE); if (extensions_list != NULL) { /* We have one or more extensions for this file type. - Start out assuming we need to add the default one. */ + Start out assuming we need to add the default one. */ add_extension = TRUE; if (file_last_dot != NULL) { + /* Skip past the dot. */ + file_last_dot++; + /* OK, see if the file has one of those extensions. */ - for (extension = extensions_list; extension != NULL && file_last_dot != NULL; + for (extension = extensions_list; extension != NULL; extension = g_slist_next(extension)) { if (g_ascii_strcasecmp((char *)extension->data, file_last_dot) == 0) { /* The file name has one of the extensions for this file type */ @@ -525,7 +531,7 @@ win32_export_specified_packets_file(HWND h_wnd) { } else { /* We have no extensions for this file type. Don't add one. */ add_extension = FALSE; - } + } if (add_extension) { if (wtap_default_file_extension(filetype) != NULL) { g_string_append_printf(file_name8, ".%s", wtap_default_file_extension(filetype)); @@ -1836,7 +1842,7 @@ export_specified_packets_file_hook_proc(HWND sf_hwnd, UINT msg, WPARAM w_param, packet_range_init(&g_range); /* default to displayed packets */ g_range.process_filtered = TRUE; - g_range.include_dependents = TRUE; + g_range.include_dependents = TRUE; /* Fill in the file format list */ /*build_file_format_list(sf_hwnd);*/ |