// short* : Used for systems (Windows) that use wide-chars in filenames NODE* CParseXml::mainXML(const short *szFileName) { int buffLen; if(bufFile) delete bufFile; bufFile =loadFileW(szFileName, buffLen); if (bufFile == NULL) { DEBUG_T(0,"xml file not found"); return NULL; } return parseXml(bufFile, buffLen); }
void init(){ if(iInitOk)return; iInitOk=1; CTEditBase b(4096); setCfgFN(b,G_CFG_FILE_ID); g_Settings.iEnableSHA384=1; g_Settings.iSASConfirmClickCount=10; int iCfgLen=0; char *p=loadFileW(b.getText(),iCfgLen); if(!p){iInitOk=0;return;} setFileBackgroundReadable(b); // puts(p); int getCFGItemSz(char *ret, int iMaxSize, char *p, int iCfgLen, const char *key); int getCFGItemI(int *ret, char *p, int iCfgLen, const char *key); #define M_FNC_INT_T(_DST,_K) getCFGItemI(&(_DST),p,iCfgLen,#_K) M_FNC_INT_T(g_Settings.iDisableDH2K,iDisableDH2K); M_FNC_INT_T(g_Settings.iPreferDH2K,iPreferDH2K); M_FNC_INT_T(g_Settings.iDisableAES256,iDisableAES256); M_FNC_INT_T(g_Settings.iDisable256SAS,iDisable256SAS); M_FNC_INT_T(g_Settings.iDisableECDH384,iDisableECDH384); M_FNC_INT_T(g_Settings.iDisableECDH256,iDisableECDH256); M_FNC_INT_T(g_Settings.iEnableSHA384,iEnableSHA384); M_FNC_INT_T(g_Settings.iDisableSkein,iDisableSkein); M_FNC_INT_T(g_Settings.iDisableTwofish,iDisableTwofish); int r = M_FNC_INT_T(g_Settings.iPreferNIST,iPreferNIST); if( r<0 ){//iPreferNIST is not detected g_Settings.iPreferNIST = 0; g_Settings.iDisableTwofish = 0;//must override here it was previously 1 g_Settings.iDisableSkein = 0; } M_FNC_INT_T(g_Settings.iDisableBernsteinCurve25519,iDisableBernsteinCurve25519); M_FNC_INT_T(g_Settings.iDisableBernsteinCurve3617,iDisableBernsteinCurve3617); if(g_Settings.iDisableECDH384==0){ g_Settings.iEnableSHA384=1; g_Settings.iDisableAES256=0; } M_FNC_INT_T(g_Settings.iHideCfg,iHideCfg); M_FNC_INT_T(g_Settings.iDontSimplifyVideoUI,iDontSimplifyVideoUI); M_FNC_INT_T(g_Settings.iDisplayUnsolicitedVideo,iDisplayUnsolicitedVideo); M_FNC_INT_T(g_Settings.iAudioUnderflow,iAudioUnderflow); g_Settings.iDontSimplifyVideoUI=1; M_FNC_INT_T(g_Settings.iKeepScreenOnIfBatOk,iKeepScreenOnIfBatOk); M_FNC_INT_T(g_Settings.iShowRXLed,iShowRXLed); M_FNC_INT_T(g_Settings.iDisableSkeinHash,iDisableSkeinHash); M_FNC_INT_T(g_Settings.iRetroRingtone,iRetroRingtone); M_FNC_INT_T(g_Settings.iSASConfirmClickCount,iSASConfirmClickCount); g_Settings.iSASConfirmClickCount=10; strcpy(g_Settings.szRingTone,"Default"); getCFGItemSz(g_Settings.szLastUsedAccount,sizeof(g_Settings.szLastUsedAccount),p,iCfgLen,"szLastUsedAccount"); getCFGItemSz(g_Settings.szRingTone,sizeof(g_Settings.szRingTone),p,iCfgLen,"szRingTone"); memcpy(&prevSettings,&g_Settings,sizeof(TG_SETTINS)); delete p; }