bool CFileSystem::Init(void) { Log("\tInitializing FileSystem...\n"); #if PLATFORM == PLATFORM_WIN32 WCHAR buf[256]; WCHAR c, *p; size_t i; HMODULE hMod = GetModuleHandle( NULL ); DWORD res = GetModuleFileNameW( hMod, buf, sizeof( buf ) ); for ( i = 0; i < 3; i++ ) { p = wcsrchr( buf, '\\' ); p[0] = 0; } // convert backslashes to slashes p = buf; while ( ( c = *p ) ) { if ( c == '\\' ) *p = '/'; p++; } wcscat( buf, L"/" ); std::wstring wstr = _wcslwr( buf ); std::string dest; dest.resize(wstr.length()); std::transform(wstr.begin(), wstr.end(), dest.begin(), wide_to_narrow); SetAlias( "home", dest ); string_t home = GetAlias( "home" ); SetAlias( "bin", home+"bin/win32/debug/" ); SetAlias( "data", home+"../data/" ); #endif Log("\t\tHome:%s\n", GetAlias("home").c_str()); Log("\t\tData:%s\n", GetAlias("data").c_str()); m_initialized = true; return m_initialized; }
TError TNetwork::OpenLinks(std::vector<std::shared_ptr<TNlLink>> &links) { std::vector<std::string> devices; for (auto &device : config().network().devices()) devices.push_back(device); if (!Nl) { Nl = std::make_shared<TNl>(); if (!Nl) throw std::bad_alloc(); TError error = Nl->Connect(); if (error) { L_ERR() << "Can't open link: " << error << std::endl; return error; } } else { TError error = Nl->RefillCache(); if (error) { L_ERR() << "Can't refill link cache: " << error << std::endl; return error; } } if (!devices.size()) { TError error = Nl->GetDefaultLink(devices); if (error) { L_ERR() << "Can't open link: " << error << std::endl; return error; } } std::map<std::string, std::string> aliasMap; for (auto &alias : config().network().alias()) aliasMap[alias.iface()] = alias.name(); for (auto &name : devices) { auto l = std::make_shared<TNlLink>(Nl, name); if (!l) throw std::bad_alloc(); TError error = l->Load(); if (error) { L_ERR() << "Can't open link: " << error << std::endl; return error; } if (aliasMap.find(name) != aliasMap.end()) l->SetAlias(aliasMap.at(name)); links.push_back(l); } return TError::Success(); }
bool StringAlias::ReadFromFile(IFILE & input) { StringArray lines, tokens; lines.Read(input); for (int j = 0; j < lines.Length(); j++) { tokens.ReplaceTokens(lines[j]); if (tokens.Length() != 2) continue; SetAlias(tokens[0], tokens[1]); } return true; }
/* * TryCompileableToken - process token that can also be compiled */ vi_rc TryCompileableToken( int token, const char *data, bool iscmdline ) { vi_rc rc = ERR_INVALID_COMMAND; bool mflag; switch( token ) { case PCL_T_MAPBASE_DMT: case PCL_T_MAP_DMT: case PCL_T_MAPBASE: case PCL_T_MAP: if( iscmdline ) { mflag = MAPFLAG_MESSAGE; } else { mflag = 0; } if( token == PCL_T_MAPBASE || token == PCL_T_MAPBASE_DMT ) { mflag |= MAPFLAG_BASE; } if( token == PCL_T_MAP_DMT || token == PCL_T_MAPBASE_DMT ) { mflag |= MAPFLAG_DAMMIT; } rc = MapKey( mflag, data ); break; case PCL_T_MENUFILELIST: rc = MenuItemFileList(); break; case PCL_T_MENULASTFILES: rc = MenuItemLastFiles(); break; case PCL_T_MENU: rc = StartMenu( data ); break; case PCL_T_MENUITEM: rc = MenuItem( data ); break; case PCL_T_FLOATMENU: rc = ActivateFloatMenu( data ); break; case PCL_T_ENDMENU: rc = ViEndMenu(); break; case PCL_T_FILETYPESOURCE: rc = FTSStart( data ); break; case PCL_T_ADDTOOLBARITEM: #ifdef __WIN__ rc = AddBitmapToToolBar( data ); #endif break; case PCL_T_DELETETOOLBARITEM: #ifdef __WIN__ rc = DeleteFromToolBar( data ); #endif break; case PCL_T_ACTIVATE_IDE: #ifdef __WIN__ StartIDE( InstanceHandle, TRUE ); rc = ERR_NO_ERR; #endif break; case PCL_T_ALIAS: rc = SetAlias( data ); break; case PCL_T_ABBREV: rc = Abbrev( data ); break; case PCL_T_SET: if( iscmdline ) { data = Expand( dataBuff, data, NULL ); } rc = Set( data ); break; case PCL_T_SETCOLOR: rc = SetAColor( data ); break; case PCL_T_SETFONT: rc = SetFont( data ); break; case PCL_T_MATCH: rc = AddMatchString( data ); break; case PCL_T_LOCATE: rc = LocateCmd( data ); break; default: rc = NOT_COMPILEABLE_TOKEN; break; } return( rc ); } /* TryCompileableToken */
void LogEntry1Data::ResumeSyncSend(void) { if (!SyncSendPaused) { return; } SyncSendPaused = FALSE; if (SyncNumber == CERROR) { return; } // We just unpaused and we're assigned a record number... tell everybody // else all about ourselves. GAINEXCLUSIVEACCESS(); char Buffer[256]; CopyStringToBuffer(Buffer, Name); SetName(Buffer); CopyStringToBuffer(Buffer, Initials); SetInitials(Buffer); CopyStringToBuffer(Buffer, Password); SetPassword(Buffer); CopyStringToBuffer(Buffer, Surname); SetSurname(Buffer); CopyStringToBuffer(Buffer, Title); SetTitle(Buffer); CopyStringToBuffer(Buffer, RealName); SetRealName(Buffer); CopyStringToBuffer(Buffer, PhoneNumber); SetPhoneNumber(Buffer); CopyStringToBuffer(Buffer, ForwardAddr); SetForwardAddr(Buffer); CopyStringToBuffer(Buffer, ForwardAddrNode); SetForwardAddrNode(Buffer); CopyStringToBuffer(Buffer, ForwardAddrRegion); SetForwardAddrRegion(Buffer); CopyStringToBuffer(Buffer, PromptFormat); SetPromptFormat(Buffer); CopyStringToBuffer(Buffer, DateStamp); SetDateStamp(Buffer); CopyStringToBuffer(Buffer, VerboseDateStamp); SetVerboseDateStamp(Buffer); CopyStringToBuffer(Buffer, Signature); SetSignature(Buffer); CopyStringToBuffer(Buffer, NetPrefix); SetNetPrefix(Buffer); CopyStringToBuffer(Buffer, MailAddr1); SetMailAddr1(Buffer); CopyStringToBuffer(Buffer, MailAddr2); SetMailAddr2(Buffer); CopyStringToBuffer(Buffer, MailAddr3); SetMailAddr3(Buffer); CopyStringToBuffer(Buffer, Alias); SetAlias(Buffer); CopyStringToBuffer(Buffer, LocID); SetLocID(Buffer); CopyStringToBuffer(Buffer, MorePrompt); SetMorePrompt(Buffer); CopyStringToBuffer(Buffer, Occupation); SetOccupation(Buffer); CopyStringToBuffer(Buffer, WhereHear); SetWhereHear(Buffer); CopyStringToBuffer(Buffer, LastRoom); SetLastRoom(Buffer); CopyStringToBuffer(Buffer, LastHall); SetLastHall(Buffer); CopyStringToBuffer(Buffer, DefaultRoom); SetDefaultRoom(Buffer); CopyStringToBuffer(Buffer, DefaultHall); SetDefaultHall(Buffer); CopyStringToBuffer(Buffer, TermType); SetTermType(Buffer); RELEASEEXCLUSIVEACCESS(); SetBirthDate(BirthDate); SetFirstOn(FirstOn); SetSex(Sex); SetNulls(Nulls); SetWidth(Width); SetLinesPerScreen(LinesPerScreen); SetAttribute(ATTR_NORMAL, attributes[ATTR_NORMAL]); SetAttribute(ATTR_BLINK, attributes[ATTR_BLINK]); SetAttribute(ATTR_REVERSE, attributes[ATTR_REVERSE]); SetAttribute(ATTR_BOLD, attributes[ATTR_BOLD]); SetAttribute(ATTR_UNDERLINE, attributes[ATTR_UNDERLINE]); SetNumUserShow(NumUserShow); SetDefaultProtocol(DefaultProtocol); SetCallTime(CallTime); SetCallNumber(CallNumber); SetTotalTime(TotalTime); SetCredits(Credits); SetLogins(Logins); SetPosted(Posted); SetRead(Read); SetPasswordChangeTime(PasswordChangeTime); SetCallsToday(CallsToday); SetCallLimit(CallLimit); SetLastMessage(LastMessage); SetDL_Bytes(DL_Bytes); SetUL_Bytes(UL_Bytes); SetDL_Num(DL_Num); SetUL_Num(UL_Num); SetPoopcount(Poopcount); SetDungeoned(IsDungeoned()); SetForwardToNode(IsForwardToNode()); SetAutoNextHall(IsAutoNextHall()); SetEnterBorders(IsEnterBorders()); SetVerified(IsVerified()); SetSurnameLocked(IsSurnameLocked()); SetDefaultHallLocked(IsDefaultHallLocked()); SetPsycho(IsPsycho()); SetViewTitleSurname(IsViewTitleSurname()); SetViewSubjects(IsViewSubjects()); SetViewSignatures(IsViewSignatures()); SetOldIBMGraph(IsOldIBMGraph()); SetOldIBMANSI(IsOldIBMANSI()); SetOldIBMColor(IsOldIBMColor()); SetTwirly(IsTwirly()); SetAutoVerbose(IsAutoVerbose()); SetPauseBetweenMessages(IsPauseBetweenMessages()); SetMinibin(IsMinibin()); SetClearScreenBetweenMessages(IsClearScreenBetweenMessages()); SetViewRoomInfoLines(IsViewRoomInfoLines()); SetViewHallDescription(IsViewHallDescription()); SetVerboseContinue(IsVerboseContinue()); SetViewCensoredMessages(IsViewCensoredMessages()); SetViewBorders(IsViewBorders()); SetOut300(IsOut300()); SetUserSignatureLocked(IsUserSignatureLocked()); SetHideMessageExclusions(IsHideMessageExclusions()); SetDownload(IsDownload()); SetUpload(IsUpload()); SetChat(IsChat()); SetPrintFile(IsPrintFile()); SetSpellCheckMode(GetSpellCheckMode()); SetMakeRoom(IsMakeRoom()); SetVerboseLogOut(IsVerboseLogOut()); SetConfirmSave(IsConfirmSave()); SetConfirmAbort(IsConfirmAbort()); SetConfirmNoEO(IsConfirmNoEO()); SetUsePersonalHall(IsUsePersonalHall()); SetYouAreHere(IsYouAreHere()); SetIBMRoom(IsIBMRoom()); SetWideRoom(IsWideRoom()); SetMusic(IsMusic()); SetCheckApostropheS(IsCheckApostropheS()); SetCheckAllCaps(IsCheckAllCaps()); SetCheckDigits(IsCheckDigits()); SetExcludeEncryptedMessages(IsExcludeEncryptedMessages()); SetViewCommas(IsViewCommas()); SetPUnPauses(IsPUnPauses()); SetRoman(IsRoman()); SetSuperSysop(IsSuperSysop()); SetInuse(IsInuse()); SetUpperOnly(IsUpperOnly()); SetLinefeeds(IsLinefeeds()); SetExpert(IsExpert()); SetAide(IsAide()); SetTabs(IsTabs()); SetOldToo(IsOldToo()); SetProblem(IsProblem()); SetUnlisted(IsUnlisted()); SetPermanent(IsPermanent()); SetSysop(IsSysop()); SetNode(IsNode()); SetNetUser(IsNetUser()); SetAccounting(IsAccounting()); SetMail(IsMail()); SetViewRoomDesc(IsViewRoomDesc()); }