void mfplg_call3(mf_bptrd data) { string packed=data->grab(1,DAT_FILE); string destination=data->grab(1,DAT_DIRECTORY); unpack(packed,destination); } bool unpack(const string &packed,const string &destination,bool ignore_past=false) { if(in) { delete in; in=0; } in=new ifstream(packed.c_str(),ios::binary); int le=GetLastError(); if(!in->is_open()) { mf_dbg("error %i",le); return false; } [ 112 lines chopped ] }