void PDocument::AutoSave(void) { //** Use Settingsfolder to if (autoSaveRef == NULL) { BPath settings; find_directory(B_USER_SETTINGS_DIRECTORY, &settings, true); char p[PATH_MAX]; sprintf(p,"%s/ProjectConceptor/AutoSave/%s",settings.Path(),Title()); //** check if this file exist already autoSaveRef=new BEntry(p); } BFile *autoSave = new BFile((const BEntry *)autoSaveRef,B_READ_WRITE); PushToStream(autoSave); delete autoSave; }
netBool UDPStream::UnPack(SerializerLess& _ser, const Peer& _peer) { if(_ser.Read(s_typeUDPStream)) { // check frame consistency (even if the type is correct) if(_ser.GetSize() <= _ser.GetBufferSize() && _ser.GetSize() > GetHeaderSize()) { // Packet seems well formed, check data crc for consitency now netU32 crc_ser; static_cast<Serializer&>(_ser) >> crc_ser; SerializerLess upper_ser(_ser, GetHeaderSize(), _ser.GetBufferSize()); if(upper_ser.GetSize() <= upper_ser.GetBufferSize() && upper_ser.GetSize() > GetHeaderSize()) { netU32 crc_cmp = CRC32::Compute(_ser.GetBuffer() + GetHeaderSize(), upper_ser.GetSize() - GetHeaderSize()); if(crc_cmp == crc_ser) { PushToStream(upper_ser, _peer); } else { //assert(false); // packet malformed drop } } else { //assert(false); // packet malformed drop } } else { //assert(false); // packet malformed drop }