e->AddCollector(dst_ip, (uint16_t)atoi(dst_port), "UDP");
e->addCollector(dst_ip, (uint16_t)atoi(dst_port), "UDP");
static int configure_sink(struct v_objects *v, char *list){        dictionary *conf;        Sink *s;        char *dst_port, *dst_ip, *source_id;        conf=v->v_config;        source_id=iniparser_getvalue(conf, CONF_SEC, "source_id");        dst_port=iniparser_getvalue(conf, CONF_SEC, "export_port");        dst_ip=iniparser_getvalue(conf, CONF_SEC, "export_ip");        /*         dont want to export ? so the sink is a simple PacketSink         we need a sink, or else no packets will be free()d         */        if(strcasecmp(list, "off") == 0) {                s=new PacketSink();                msg(MSG_DEBUG, "Sink: using plain PacketSink()");        } else {                int sID;                ExporterSink *e;		/* check parameters */		if(!source_id || !dst_port || !dst_ip) {			msg(MSG_FATAL,			    "Sink: not all parameters in config: source_id: %s, dst_port: %s, dst_ip: %s",			    source_id, dst_port, dst_ip			   );			return 1;		}                sID=atoi(source_id);		/* do a real exporter sink */                msg(MSG_DEBUG, "Sink: using ExporterSink(), own source_ID %d, dst %s:%s",		    sID,                    dst_ip,                    dst_port                   );		e=new ExporterSink(v->templ, sID);		/* FIXME: alias PacketProcessor to ExportSink, so we can use subfunction */                e->AddCollector(dst_ip, (uint16_t)atoi(dst_port), "UDP");                s=e;        }        v->sink=s;        return 0;}