rem: OPENNAP->searches = list_prepend(OPENNAP->searches, search);  snprintf(search->query, sizeof(search->query), "%s", query); snprintf(search->exclude, sizeof(search->exclude), "%s", exclude);
add: snprintf(search->query, sizeof(search->query), query); snprintf(search->exclude, sizeof(search->exclude), exclude);
context: BOOL gift_cb_search(Protocol *p, IFEvent *event, char *query, char *exclude,                   char *realm, Dataset *meta){	OpnSearch *search;	OpnPacket *packet;	OpnSession *session;	List *l;	char buf[256];	if (!opn_is_connected || !(search = opn_search_new()))		return FALSE;	OPENNAP->searches = list_prepend(OPENNAP->searches, search);	snprintf(search->query, sizeof(search->query), "%s", query);	snprintf(search->exclude, sizeof(search->exclude), "%s", exclude);	search->event = event;		for (l = OPENNAP->sessions; l; l = l->next) {		session = (OpnSession *) l->data;				if (session->state != OPN_SESSION_STATE_CONNECTED)			continue;		snprintf(buf, sizeof(buf),		        "MAX_RESULTS %i FILENAME CONTAINS \"%s\"",				OPN_MAX_SEARCH_RESULTS, query);		if (!(packet = opn_packet_new(OPN_CMD_SEARCH, buf, strlen(buf))))			continue;		opn_packet_send(packet, session->con);		opn_packet_free(packet);		opn_search_ref(search);	}	return (opn_search_unref(search) > 0);}