comparison libpurple/plugins/autoaccept.c @ 21782:bacb8c59230a

Normalize and escape the filename when auto-accepting a file. References #3982.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Wed, 05 Dec 2007 04:59:43 +0000
parents 665e04562de0
children 3b1d7caddc27
comparison
equal deleted inserted replaced
21781:6a287408bc54 21782:bacb8c59230a
112 case FT_ASK: 112 case FT_ASK:
113 break; 113 break;
114 case FT_ACCEPT: 114 case FT_ACCEPT:
115 if (ensure_path_exists(pref)) 115 if (ensure_path_exists(pref))
116 { 116 {
117 dirname = g_build_filename(pref, xfer->who, NULL); 117 dirname = g_build_filename(pref, purple_normalize(account, xfer->who), NULL);
118 118
119 if (!ensure_path_exists(dirname)) 119 if (!ensure_path_exists(dirname))
120 { 120 {
121 g_free(dirname); 121 g_free(dirname);
122 break; 122 break;
123 } 123 }
124 124
125 filename = g_build_filename(dirname, xfer->filename, NULL); 125 filename = g_build_filename(dirname,
126 purple_escape_filename(xfer->filename), NULL);
126 127
127 purple_xfer_request_accepted(xfer, filename); 128 purple_xfer_request_accepted(xfer, filename);
128 129
129 g_free(dirname); 130 g_free(dirname);
130 g_free(filename); 131 g_free(filename);
131 } 132 }
132 133
133 purple_signal_connect(purple_xfers_get_handle(), "file-recv-complete", handle, 134 purple_signal_connect(purple_xfers_get_handle(), "file-recv-complete", handle,
134 PURPLE_CALLBACK(auto_accept_complete_cb), xfer); 135 PURPLE_CALLBACK(auto_accept_complete_cb), xfer);
135 break; 136 break;
136 case FT_REJECT: 137 case FT_REJECT:
137 xfer->status = PURPLE_XFER_STATUS_CANCEL_LOCAL; 138 xfer->status = PURPLE_XFER_STATUS_CANCEL_LOCAL;