--- autoaccept.c 2007-01-22 00:50:39.667298600 +0000 +++ autoaccept-new.c 2007-01-22 00:50:54.404125400 +0000 @@ -93,50 +93,29 @@ char *filename; char *dirname; - account = xfer->account; - node = (GaimBlistNode *)gaim_find_buddy(account, xfer->who); + pref = gaim_prefs_get_string(PREF_PATH); - if (!node) + if (ensure_path_exists(pref)) { - if (gaim_prefs_get_bool(PREF_STRANGER)) - xfer->status = GAIM_XFER_STATUS_CANCEL_LOCAL; - return; - } + dirname = g_build_filename(pref, xfer->who, NULL); - node = node->parent; - g_return_if_fail(GAIM_BLIST_NODE_IS_CONTACT(node)); + if (!ensure_path_exists(dirname)) + { + g_free(dirname); + return; + } + + filename = g_build_filename(dirname, xfer->filename, NULL); - pref = gaim_prefs_get_string(PREF_PATH); - switch (gaim_blist_node_get_int(node, "autoaccept")) - { - case FT_ASK: - break; - case FT_ACCEPT: - if (ensure_path_exists(pref)) - { - dirname = g_build_filename(pref, xfer->who, NULL); - - if (!ensure_path_exists(dirname)) - { - g_free(dirname); - break; - } - - filename = g_build_filename(dirname, xfer->filename, NULL); - - gaim_xfer_request_accepted(xfer, filename); - - g_free(dirname); - g_free(filename); - } - - gaim_signal_connect(gaim_xfers_get_handle(), "file-recv-complete", handle, - GAIM_CALLBACK(auto_accept_complete_cb), xfer); - break; - case FT_REJECT: - xfer->status = GAIM_XFER_STATUS_CANCEL_LOCAL; - break; + gaim_xfer_request_accepted(xfer, filename); + + g_free(dirname); + g_free(filename); } + + gaim_signal_connect(gaim_xfers_get_handle(), "file-recv-complete", handle, + GAIM_CALLBACK(auto_accept_complete_cb), xfer); + } static void