rem: opn_url_set_file(&url, file, filesize); opn_url_set_client(&url, user, ip, 0); opn_url_set_server(&url, session->node->ip, session->node->port);
add: opn_url_set_file(url, path_orig, filesize); opn_url_set_client(url, user, ip, 0); opn_url_set_server(url, session->node->ip, session->node->port);
context: OPN_HANDLER(search_result){	OpnSession *session = (OpnSession *) udata;	OpnUrl url;	OpnSearch *search;	Share share;	char *md5, *user, *bitrate, *freq, *len, *tmp, *file, *path, *root;	uint32_t ip, filesize;	assert(session);	tmp = opn_packet_get_str(packet, TRUE);	md5 = opn_packet_get_str(packet, FALSE);	filesize = opn_packet_get_uint32(packet);	bitrate = opn_packet_get_str(packet, FALSE);	freq = opn_packet_get_str(packet, FALSE);	len = opn_packet_get_str(packet, FALSE);	user = opn_packet_get_str(packet, FALSE);	ip = opn_packet_get_ip(packet);	if (!user)		return;	/* FIXME */	path = my_file_unix_path(tmp);	file = file_basename(path);	root = file_dirname(path);	/* now find the search this searchresult might belong to	 * .oO(stupid napster)	 */	if (!(search = opn_search_find(path)))		return;		assert(search->event);	share_init(&share, path);	share_set_root(&share, root, strlen(root));	share.size = filesize;	share_set_meta(&share, "Bitrate", bitrate);	share_set_meta(&share, "Frequency", freq);	share_set_meta(&share, "Length", len);	opn_url_set_file(&url, file, filesize);	opn_url_set_client(&url, user, ip, 0);	opn_url_set_server(&url, session->node->ip, session->node->port);	OPN->search_result(OPN, search->event,	                   user, NULL, opn_url_serialize(&url),	                   1, &share);	share_finish(&share);	free(tmp);	free(md5);	free(bitrate);	free(freq);	free(len);	free(user);	timer_reset(search->timer);}