int CScheduler::LoadFromFile(){ CString strName; CString temp; strName.Format(_T("%spreferences.ini"), thePrefs.GetMuleDirectory(EMULE_CONFIGDIR)); CIni ini(strName, _T("Scheduler")); UINT max=ini.GetInt(_T("Count"),0); UINT count=0; while (count<max) { strName.Format(_T("Schedule#%i"),count); temp=ini.GetString(_T("Title"),_T(""),strName); if (temp!=_T("")) { Schedule_Struct* news= new Schedule_Struct(); news->title=temp; news->day=ini.GetInt(_T("Day"),0); news->enabled=ini.GetBool(_T("Enabled")); news->time=ini.GetInt(_T("StartTime")); news->time2=ini.GetInt(_T("EndTime")); ini.SerGet(true, news->actions, ARRSIZE(news->actions), _T("Actions")); ini.SerGet(true, news->values, ARRSIZE(news->values), _T("Values")); AddSchedule(news); count++; } else break; } return count; }
BOOL CMetaDataDlg::OnInitDialog() { CResizablePage::OnInitDialog(); InitWindowStyles(this); AddAnchor(IDC_TAGS, TOP_LEFT, BOTTOM_RIGHT); AddAnchor(IDC_TOTAL_TAGS, BOTTOM_LEFT, BOTTOM_RIGHT); GetDlgItem(IDC_TOTAL_TAGS)->SetWindowText(GetResString(IDS_METATAGS)); m_tags.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_INFOTIP); m_tags.ReadColumnStats(ARRSIZE(_aColumns), _aColumns); m_tags.CreateColumns(ARRSIZE(_aColumns), _aColumns); m_pMenuTags = new CMenu(); if (m_pMenuTags->CreatePopupMenu()) { m_pMenuTags->AppendMenu(MF_ENABLED | MF_STRING, MP_COPYSELECTED, GetResString(IDS_COPY)); m_pMenuTags->AppendMenu(MF_SEPARATOR); m_pMenuTags->AppendMenu(MF_ENABLED | MF_STRING, MP_SELECTALL, GetResString(IDS_SELECTALL)); } m_tags.m_pMenu = m_pMenuTags; m_tags.m_pParent = this; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CSharedDirsTreeCtrl::FileSystemTreeCreateTree(){ TCHAR drivebuffer[500]; ::GetLogicalDriveStrings(ARRSIZE(drivebuffer), drivebuffer); // e.g. "a:\ c:\ d:\" const TCHAR* pos = drivebuffer; while(*pos != _T('\0')){ // Copy drive name TCHAR drive[4]; _tcsncpy(drive, pos, ARRSIZE(drive)); drive[ARRSIZE(drive) - 1] = _T('\0'); switch(drive[0]){ case _T('a'): case _T('A'): case _T('b'): case _T('B'): // Skip floppy disk break; default: drive[2] = _T('\0'); FileSystemTreeAddChildItem(m_pRootUnsharedDirectries, drive, true); // e.g. ("c:") } // Point to the next drive (4 chars interval) pos = &pos[4]; } }
int DBpatch_3020001(void) { DB_RESULT result; zbx_vector_uint64_t eventids; DB_ROW row; zbx_uint64_t eventid; int sources[] = {EVENT_SOURCE_TRIGGERS, EVENT_SOURCE_INTERNAL}; int objects[] = {EVENT_OBJECT_ITEM, EVENT_OBJECT_LLDRULE}, i; zbx_vector_uint64_create(&eventids); for (i = 0; i < (int)ARRSIZE(sources); i++) { result = DBselect( "select p.eventid" " from problem p" " where p.source=%d and p.object=%d and not exists (" "select null" " from triggers t" " where t.triggerid=p.objectid" ")", sources[i], EVENT_OBJECT_TRIGGER); while (NULL != (row = DBfetch(result))) { ZBX_STR2UINT64(eventid, row[0]); zbx_vector_uint64_append(&eventids, eventid); } DBfree_result(result); } for (i = 0; i < (int)ARRSIZE(objects); i++) { result = DBselect( "select p.eventid" " from problem p" " where p.source=%d and p.object=%d and not exists (" "select null" " from items i" " where i.itemid=p.objectid" ")", EVENT_SOURCE_INTERNAL, objects[i]); while (NULL != (row = DBfetch(result))) { ZBX_STR2UINT64(eventid, row[0]); zbx_vector_uint64_append(&eventids, eventid); } DBfree_result(result); } zbx_vector_uint64_sort(&eventids, ZBX_DEFAULT_UINT64_COMPARE_FUNC); if (0 != eventids.values_num) DBexecute_multiple_query("delete from problem where", "eventid", &eventids); zbx_vector_uint64_destroy(&eventids); return SUCCEED; }
bool CKnownFileList::LoadKnownFiles() { CString fullpath = thePrefs.GetMuleDirectory(EMULE_CONFIGDIR); fullpath.Append(KNOWN_MET_FILENAME); CSafeBufferedFile file; CFileException fexp; if (!file.Open(fullpath,CFile::modeRead|CFile::osSequentialScan|CFile::typeBinary|CFile::shareDenyWrite, &fexp)){ if (fexp.m_cause != CFileException::fileNotFound){ CString strError(_T("Failed to load ") KNOWN_MET_FILENAME _T(" file")); TCHAR szError[MAX_CFEXP_ERRORMSG]; if (fexp.GetErrorMessage(szError, ARRSIZE(szError))){ strError += _T(" - "); strError += szError; } LogError(LOG_STATUSBAR, _T("%s"), strError); } return false; } setvbuf(file.m_pStream, NULL, _IOFBF, 16384); CKnownFile* pRecord = NULL; try { uint8 header = file.ReadUInt8(); if (header != MET_HEADER && header != MET_HEADER_I64TAGS){ file.Close(); LogError(LOG_STATUSBAR, GetResString(IDS_ERR_SERVERMET_BAD)); return false; } AddDebugLogLine(false, _T("Known.met file version is %u (%s support 64bit tags)"), header, (header == MET_HEADER) ? _T("doesn't") : _T("does")); UINT RecordsNumber = file.ReadUInt32(); for (UINT i = 0; i < RecordsNumber; i++) { pRecord = new CKnownFile(); if (!pRecord->LoadFromFile(&file)){ TRACE(_T("*** Failed to load entry %u (name=%s hash=%s size=%I64u parthashs=%u expected parthashs=%u) from known.met\n"), i, pRecord->GetFileName(), md4str(pRecord->GetFileHash()), pRecord->GetFileSize(), pRecord->GetHashCount(), pRecord->GetED2KPartHashCount()); delete pRecord; pRecord = NULL; continue; } SafeAddKFile(pRecord); pRecord = NULL; } file.Close(); } catch(CFileException* error){ if (error->m_cause == CFileException::endOfFile) LogError(LOG_STATUSBAR, GetResString(IDS_ERR_SERVERMET_BAD)); else{ TCHAR buffer[MAX_CFEXP_ERRORMSG]; error->GetErrorMessage(buffer, ARRSIZE(buffer)); LogError(LOG_STATUSBAR, GetResString(IDS_ERR_SERVERMET_UNKNOWN),buffer); } error->Delete(); delete pRecord; return false; } return true; }
void AddLogTextV(UINT uFlags, EDebugLogPriority dlpPriority, LPCTSTR pszLine, va_list argptr) { ASSERT(pszLine != NULL); if ((uFlags & LOG_DEBUG) && !(thePrefs.GetVerbose() && dlpPriority >= thePrefs.GetVerboseLogPriority())) return; TCHAR szLogLine[1000]; if (_vsntprintf(szLogLine, ARRSIZE(szLogLine), pszLine, argptr) == -1) szLogLine[ARRSIZE(szLogLine) - 1] = _T('\0'); if (theApp.emuledlg) theApp.emuledlg->AddLogText(uFlags, szLogLine); else { TRACE(_T("App Log: %s\n"), szLogLine); TCHAR szFullLogLine[1060]; int iLen = _sntprintf(szFullLogLine, ARRSIZE(szFullLogLine), _T("%s: %s\r\n"), CTime::GetCurrentTime().Format(thePrefs.GetDateTimeFormat4Log()), szLogLine); if (iLen >= 0) { if (!(uFlags & LOG_DEBUG)) { if (thePrefs.GetLog2Disk()) theLog.Log(szFullLogLine, iLen); } if (thePrefs.GetVerbose() && ((uFlags & LOG_DEBUG) || thePrefs.GetFullVerbose())) { if (thePrefs.GetDebug2Disk()) theVerboseLog.Log(szFullLogLine, iLen); } } } }
void CDirectoryTreeCtrl::Init(void) { SendMessage(CCM_SETUNICODEFORMAT, TRUE); ShowWindow(SW_HIDE); DeleteAllItems(); ModifyStyle( 0, TVS_CHECKBOXES ); // START: added by FoRcHa ///////////// WORD wWinVer = thePrefs.GetWindowsVersion(); // maybe causes problems on 98 & nt4 if(wWinVer == _WINVER_2K_ || wWinVer == _WINVER_XP_ || wWinVer == _WINVER_ME_) { SHFILEINFO shFinfo; HIMAGELIST hImgList = NULL; // Get the system image list using a "path" which is available on all systems. [patch by bluecow] hImgList = (HIMAGELIST)SHGetFileInfo(_T("."), 0, &shFinfo, sizeof(shFinfo), SHGFI_SYSICONINDEX | SHGFI_SMALLICON); if(!hImgList) { TRACE(_T("Cannot retrieve the Handle of SystemImageList!")); //return; } m_image.m_hImageList = hImgList; SetImageList(&m_image, TVSIL_NORMAL); } //////////////////////////////// TCHAR drivebuffer[500]; ::GetLogicalDriveStrings(ARRSIZE(drivebuffer), drivebuffer); // e.g. "a:\ c:\ d:\" const TCHAR* pos = drivebuffer; while(*pos != _T('\0')){ // Copy drive name TCHAR drive[4]; _tcsncpy(drive, pos, ARRSIZE(drive)); drive[ARRSIZE(drive) - 1] = _T('\0'); switch(drive[0]){ case _T('a'): case _T('A'): case _T('b'): case _T('B'): // Skip floppy disk break; default: drive[2] = _T('\0'); AddChildItem(NULL, drive); // e.g. ("c:") } // Point to the next drive (4 chars interval) pos = &pos[4]; } ShowWindow(SW_SHOW); }
BOOL CIPFilterDlg::OnInitDialog() { CResizableDialog::OnInitDialog(); InitWindowStyles(this); AddAnchor(IDC_IPFILTER, TOP_LEFT, BOTTOM_RIGHT); AddAnchor(IDC_TOTAL_IPFILTER_LABEL, BOTTOM_LEFT); AddAnchor(IDC_TOTAL_IPFILTER, BOTTOM_LEFT); AddAnchor(IDC_TOTAL_IPS_LABEL, BOTTOM_LEFT); AddAnchor(IDC_TOTAL_IPS, BOTTOM_LEFT); AddAnchor(IDC_COPY, BOTTOM_RIGHT); AddAnchor(IDC_REMOVE, BOTTOM_RIGHT); AddAnchor(IDC_APPEND, BOTTOM_RIGHT); AddAnchor(IDC_SAVE, BOTTOM_RIGHT); AddAnchor(IDOK, BOTTOM_RIGHT); EnableSaveRestore(PREF_INI_SECTION); ASSERT( m_ipfilter.GetStyle() & LVS_OWNERDATA ); m_ipfilter.SendMessage(CCM_SETUNICODEFORMAT, TRUE); m_ipfilter.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); m_ipfilter.EnableHdrCtrlSortBitmaps(); m_ipfilter.ReadColumnStats(ARRSIZE(_aColumns), _aColumns); m_ipfilter.CreateColumns(ARRSIZE(_aColumns), _aColumns); m_ipfilter.InitColumnOrders(ARRSIZE(_aColumns), _aColumns); m_ipfilter.UpdateSortColumn(ARRSIZE(_aColumns), _aColumns); SetIcon(m_icoDlg = theApp.LoadIcon(_T("IPFilter")), FALSE); InitIPFilters(); m_pMenuIPFilter = new CMenu(); if (m_pMenuIPFilter->CreatePopupMenu()) { m_pMenuIPFilter->AppendMenu(MF_ENABLED | MF_STRING, MP_COPYSELECTED, GetResString(IDS_COPY)); m_pMenuIPFilter->AppendMenu(MF_ENABLED | MF_STRING, MP_REMOVE, GetResString(IDS_REMOVE)); m_pMenuIPFilter->AppendMenu(MF_SEPARATOR); m_pMenuIPFilter->AppendMenu(MF_ENABLED | MF_STRING, MP_SELECTALL, GetResString(IDS_SELECTALL)); m_pMenuIPFilter->AppendMenu(MF_SEPARATOR); m_pMenuIPFilter->AppendMenu(MF_ENABLED | MF_STRING, MP_FIND, GetResString(IDS_FIND)); } m_ipfilter.m_pMenu = m_pMenuIPFilter; m_ipfilter.m_pParent = this; // localize SetWindowText(GetResString(IDS_IPFILTER)); SetDlgItemText(IDC_STATICIPLABEL,GetResString(IDS_IP_RULES)); SetDlgItemText(IDC_TOTAL_IPFILTER_LABEL,GetResString(IDS_TOTAL_IPFILTER_LABEL)); SetDlgItemText(IDC_TOTAL_IPS_LABEL,GetResString(IDS_TOTAL_IPS_LABEL)); SetDlgItemText(IDC_COPY,GetResString(IDS_COPY)); SetDlgItemText(IDC_REMOVE,GetResString(IDS_DELETESELECTED)); SetDlgItemText(IDC_APPEND,GetResString(IDS_APPEND)); SetDlgItemText(IDC_SAVE,GetResString(IDS_SAVE)); SetDlgItemText(IDOK,GetResString(IDS_FD_CLOSE)); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CMiniMule::UpdateContent(UINT uUpDatarate, UINT uDownDatarate) { ASSERT( GetCurrentThreadId() == _uMainThreadId ); if (m_bResolveImages) { static const LPCTSTR _apszConnectedImgs[] = { _T("CONNECTEDNOTNOT.GIF"), _T("CONNECTEDNOTLOW.GIF"), _T("CONNECTEDNOTHIGH.GIF"), _T("CONNECTEDLOWNOT.GIF"), _T("CONNECTEDLOWLOW.GIF"), _T("CONNECTEDLOWHIGH.GIF"), _T("CONNECTEDHIGHNOT.GIF"), _T("CONNECTEDHIGHLOW.GIF"), _T("CONNECTEDHIGHHIGH.GIF") }; UINT uIconIdx = theApp.emuledlg->GetConnectionStateIconIndex(); if (uIconIdx >= ARRSIZE(_apszConnectedImgs)) { ASSERT(0); uIconIdx = 0; } TCHAR szModulePath[_MAX_PATH]; if (GetModuleFileName(AfxGetResourceHandle(), szModulePath, ARRSIZE(szModulePath))) { CString strFilePathUrl(CreateFilePathUrl(szModulePath, INTERNET_SCHEME_RES)); CComPtr<IHTMLImgElement> elm; GetElementInterface(_T("connectedImg"), &elm); if (elm) { CString strResourceURL; strResourceURL.Format(_T("%s/%s"), strFilePathUrl, _apszConnectedImgs[uIconIdx]); elm->put_src(CComBSTR(strResourceURL)); } } } SetElementHtml(_T("connected"), CComBSTR(theApp.IsConnected() ? GetResString(IDS_YES) : GetResString(IDS_NO))); SetElementHtml(_T("upRate"), CComBSTR(theApp.emuledlg->GetUpDatarateString(uUpDatarate))); SetElementHtml(_T("downRate"), CComBSTR(theApp.emuledlg->GetDownDatarateString(uDownDatarate))); UINT uCompleted = 0; if (thePrefs.GetRemoveFinishedDownloads()) uCompleted = thePrefs.GetDownSessionCompletedFiles(); else if (theApp.emuledlg && theApp.emuledlg->transferwnd && theApp.emuledlg->transferwnd->downloadlistctrl.m_hWnd) { int iTotal; uCompleted = theApp.emuledlg->transferwnd->downloadlistctrl.GetCompleteDownloads(-1, iTotal); // [Ded]: -1 to get the count of all completed files in all categories } SetElementHtml(_T("completed"), CComBSTR(CastItoIShort(uCompleted, false, 0))); SetElementHtml(_T("freeSpace"), CComBSTR(CastItoXBytes(GetFreeTempSpace(-1), false, false))); }
BOOL CPPgProxy::OnApply() { USES_CONVERSION; thePrefs.SetProxyASCWOP(IsDlgButtonChecked(IDC_ASCWOP)); proxy.UseProxy=(IsDlgButtonChecked(IDC_ENABLEPROXY)); proxy.EnablePassword = ((CButton*)GetDlgItem(IDC_ENABLEAUTH))->GetCheck(); proxy.type = ((CComboBox*)GetDlgItem(IDC_PROXYTYPE))->GetCurSel(); if(GetDlgItem(IDC_PROXYNAME)->GetWindowTextLength()) { GetDlgItem(IDC_PROXYNAME)->GetWindowText(proxy.name, ARRSIZE(proxy.name)); } else { proxy.name[0] = _T('\0'); proxy.UseProxy = false; } if(GetDlgItem(IDC_PROXYPORT)->GetWindowTextLength()) { TCHAR buffer[6]; GetDlgItem(IDC_PROXYPORT)->GetWindowText(buffer,ARRSIZE(buffer)); proxy.port = (_tstoi(buffer)) ? _tstoi(buffer) : 1080; } else proxy.port = 1080; if(GetDlgItem(IDC_USERNAME_A)->GetWindowTextLength()) { CString strUser; GetDlgItem(IDC_USERNAME_A)->GetWindowText(strUser); _snprintf(proxy.user, ARRSIZE(proxy.user), "%s", T2CA(strUser)); } else { proxy.user[0] = '\0'; proxy.EnablePassword = false; } if(GetDlgItem(IDC_PASSWORD)->GetWindowTextLength()) { CString strPasswd; GetDlgItem(IDC_PASSWORD)->GetWindowText(strPasswd); _snprintf(proxy.password, ARRSIZE(proxy.password), "%s", T2CA(strPasswd)); } else { proxy.password[0] = '\0'; proxy.EnablePassword = false; } thePrefs.SetProxySettings(proxy); LoadSettings(); return TRUE; }
CString CFileDataIO::ReadString(bool bOptUTF8, UINT uRawSize) { #ifdef _UNICODE const UINT uMaxShortRawSize = SHORT_RAW_ED2K_UTF8_STR; if (uRawSize <= uMaxShortRawSize) { char acRaw[uMaxShortRawSize]; Read(acRaw, uRawSize); if (uRawSize >= 3 && (UCHAR)acRaw[0] == 0xEFU && (UCHAR)acRaw[1] == 0xBBU && (UCHAR)acRaw[2] == 0xBFU) { WCHAR awc[uMaxShortRawSize]; int iChars = ByteStreamToWideChar(acRaw + 3, uRawSize - 3, awc, ARRSIZE(awc)); if (iChars >= 0) return CStringW(awc, iChars); } else if (bOptUTF8) { WCHAR awc[uMaxShortRawSize]; //int iChars = ByteStreamToWideChar(acRaw, uRawSize, awc, ARRSIZE(awc)); int iChars = utf8towc(acRaw, uRawSize, awc, ARRSIZE(awc)); if (iChars >= 0) return CStringW(awc, iChars); } return CStringW(acRaw, uRawSize); // use local codepage } else { Array<char> acRaw(uRawSize); Read(acRaw, uRawSize); if (uRawSize >= 3 && (UCHAR)acRaw[0] == 0xEFU && (UCHAR)acRaw[1] == 0xBBU && (UCHAR)acRaw[2] == 0xBFU) { Array<WCHAR> awc(uRawSize); int iChars = ByteStreamToWideChar(acRaw + 3, uRawSize - 3, awc, uRawSize); if (iChars >= 0) return CStringW(awc, iChars); } else if (bOptUTF8) { Array<WCHAR> awc(uRawSize); //int iChars = ByteStreamToWideChar(acRaw, uRawSize, awc, uRawSize); int iChars = utf8towc(acRaw, uRawSize, awc, uRawSize); if (iChars >= 0) return CStringW(awc, iChars); } return CStringW(acRaw, uRawSize); // use local codepage } #else CStringA strA; Read(strA.GetBuffer(uRawSize), uRawSize); strA.ReleaseBuffer(uRawSize); return strA; #endif }
/*========================================================== * transl_init -- One-time initialization of this module * Created: 2002/12/13 (Perry Rapp) *========================================================*/ static void local_init (void) { INT i; ASSERT(NUM_TT_MAPS == ARRSIZE(conversions)); ASSERT(NUM_ZONES == ARRSIZE(zones)); for (i=0; i<NUM_TT_MAPS; ++i) legacytts[i].tt = 0; inited=TRUE; }
int ustring_GetCurrentDir (lua_State *L) { wchar_t buf[256]; DWORD num = GetCurrentDirectoryW(ARRSIZE(buf), buf); if(num) { if(num < ARRSIZE(buf)) push_utf8_string(L, buf, -1); else { wchar_t* alloc = (wchar_t*) malloc(num * sizeof(wchar_t)); num = GetCurrentDirectoryW(num, alloc); if(num) push_utf8_string(L, alloc, -1); free(alloc); } } return num ? 1 : SysErrorReturn(L); }
/*========================================================== * transl_get_predefined_menukey -- Menu key for predefined translation * (localized) *========================================================*/ ZSTR transl_get_predefined_menukey (INT trnum) { ASSERT(trnum>=0); ASSERT(trnum<ARRSIZE(conversions_keys)); return zs_news(sgettext(conversions_keys[trnum])); }
void CPPgServer::Localize(void) { static const uint16 s_auResTbl[][2] = { { IDC_SRVCONTIMEOUT_LBL, IDS_SRVCONTIMEOUT_LBL }, { IDC_SRV_SEC, IDS_SECS }, { IDC_REMOVEDEAD, IDS_PW_RDEAD }, { IDC_RETRIES_LBL, IDS_PW_RETRIES }, { IDC_SERVERKEEPALIVE_LBL, IDS_PW_KEEPALIVE }, { IDC_SRV_MIN, IDS_MINS }, { IDC_UPDATESERVERCONNECT, IDS_PW_USC }, { IDC_ADDSRVFROMCLIENTS, IDS_ADDSRVFROMCLIENTS }, { IDC_AUTOSERVER, IDS_PW_USS }, { IDC_SCORE, IDS_PW_SCORE }, { IDC_RESTARTWAITING, IDS_RESTARTWAITING }, { IDC_SMARTIDCHECK, IDS_SMARTLOWIDCHECK }, { IDC_AUTOCONNECT, IDS_PW_AUTOCON }, { IDC_RECONN, IDS_PW_RECON }, { IDC_MANUALSERVERHIGHPRIO, IDS_MANUALSERVERHIGHPRIO }, { IDC_AUTOCONNECTSTATICONLY, IDS_PW_AUTOCONNECTSTATICONLY }, { IDC_ICC_BUTTON, IDS_ICC_BUTTON }, { IDC_USE_AUX_PORT_CHECKBOX, IDS_USE_AUX_PORT_CHECKBOX } }; if (::IsWindow(m_hWnd)) { CString strRes; for (uint32 i = 0; i < ARRSIZE(s_auResTbl); i++) { ::GetResString(&strRes, static_cast<UINT>(s_auResTbl[i][1])); SetDlgItemText(s_auResTbl[i][0], strRes); } } }
static int svc_install_event_source(const char *path) { HKEY hKey; DWORD dwTypes = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE; wchar_t execName[MAX_PATH]; wchar_t regkey[256], *wevent_source; svc_get_fullpath(path, execName, MAX_PATH); wevent_source = zbx_utf8_to_unicode(ZABBIX_EVENT_SOURCE); StringCchPrintf(regkey, ARRSIZE(regkey), EVENTLOG_REG_PATH TEXT("System\\%s"), wevent_source); zbx_free(wevent_source); if (ERROR_SUCCESS != RegCreateKeyEx(HKEY_LOCAL_MACHINE, regkey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hKey, NULL)) { zbx_error("unable to create registry key: %s", strerror_from_system(GetLastError())); return FAIL; } RegSetValueEx(hKey, TEXT("TypesSupported"), 0, REG_DWORD, (BYTE *)&dwTypes, sizeof(DWORD)); RegSetValueEx(hKey, TEXT("EventMessageFile"), 0, REG_EXPAND_SZ, (BYTE *)execName, (DWORD)(wcslen(execName) + 1) * sizeof(wchar_t)); RegCloseKey(hKey); zbx_error("event source [%s] installed successfully", ZABBIX_EVENT_SOURCE); return SUCCEED; }
void execute(struct wdata *data) { char tmp[CMD_BUFSIZE + 1]; char *name; int i; struct arg arg; strcpy(tmp, cmd_data.buf); name = strtok(tmp, " "); arg.s = strtok(NULL, " "); if (!name) { /* no command entered, leave cmd state */ set_message(M_INFO, ""); } else { for (i = 0; i < ARRSIZE(cmds); i++) { if (streq(name, cmds[i].name)) { cmds[i].func(data, &arg); return; } } /* no command found, print error message */ set_message(M_ERROR, "no such command: '%s' ", name); } }
/*===================================== * check_node -- check node for bad pointers * and bad levels, and continue traverse * 2001/02/18, Perry Rapp *===================================*/ static void check_node (CNSTRING n0key, NODE node, INT level) { BOOLEAN lineage=FALSE; /* ignore lineage links - they are checked elsewhere */ if (level==1) { INT i; for (i=0; i<ARRSIZE(lineage_tags); i++) { if (eqstr(ntag(node), lineage_tags[i])) { lineage=TRUE; break; } } } /* TO DO: How do we tell non-pointers that *ought* to be pointers, eg "1 SOUR <FamilyHistory>" ? */ if (!lineage) { STRING skey = rmvat(nval(node)); if (skey) { NODE xnode = qkey_to_type(skey); if (!xnode) { report_error(ERR_BADPOINTER , _("Bad pointer (in %s): %s") , n0key, nval(node)); } } } if (nchild(node)) check_node(n0key, nchild(node), level+1); if (nsibling(node)) check_node(n0key, nsibling(node), level); }
void register_math(Context* ctx) { unsigned i; unsigned constCount = ARRSIZE(_math_const_names); for(i = 0; i < constCount; i++) { Builtin* blt = Builtin_new(_math_const_names[i], _math_consts[i], false); Builtin_register(blt, ctx); } unsigned funcCount = ARRSIZE(_math_names); for(i = 0; i < funcCount; i++) { Builtin* blt = Builtin_new(_math_names[i], _math_funcs[i], true); Builtin_register(blt, ctx); } }
CStringW CFileDataIO::ReadStringUTF8() { UINT uRawSize = ReadUInt16(); const UINT uMaxShortRawSize = SHORT_RAW_ED2K_UTF8_STR; if (uRawSize <= uMaxShortRawSize) { char acRaw[uMaxShortRawSize]; Read(acRaw, uRawSize); WCHAR awc[uMaxShortRawSize]; int iChars = ByteStreamToWideChar(acRaw, uRawSize, awc, ARRSIZE(awc)); if (iChars >= 0) return CStringW(awc, iChars); return CStringW(acRaw, uRawSize); // use local codepage } else { Array<char> acRaw(uRawSize); Read(acRaw, uRawSize); Array<WCHAR> awc(uRawSize); int iChars = ByteStreamToWideChar(acRaw, uRawSize, awc, uRawSize); if (iChars >= 0) return CStringW(awc, iChars); return CStringW(acRaw, uRawSize); // use local codepage; } }
void CBrowserToolbarCtrl::Localize() { static const int TBStringIDs[] = { IDS_BROWSER_BACK, IDS_BROWSER_FORWARD, IDS_BROWSER_STOP, IDS_BROWSER_REFRESH, IDS_BROWSER_VERYCD //Added by GGSoSo for webbrowser }; TBBUTTONINFO tbi; tbi.dwMask = TBIF_TEXT; tbi.cbSize = sizeof(TBBUTTONINFO); for (int i = 0; i < NUM_BROWSER_BUTTON; i++) { _sntprintf(TBStrings[i], ARRSIZE(TBStrings[0]), _T("%s"), GetResString(TBStringIDs[i])); tbi.pszText = TBStrings[i]; SetButtonInfo(IDC_BROWSERBUTTON+i, &tbi); } CWnd *pParent = GetParent(); if (NULL != pParent) pParent->SendMessage(WM_SIZE); }
void CClosableTabCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { CRect rect = lpDrawItemStruct->rcItem; int nTabIndex = lpDrawItemStruct->itemID; if (nTabIndex < 0) return; BOOL bSelected = (nTabIndex == GetCurSel()); TCHAR szLabel[256]; TC_ITEM tci; tci.mask = TCIF_TEXT | TCIF_IMAGE | TCIF_STATE; tci.pszText = szLabel; tci.cchTextMax = ARRSIZE(szLabel); tci.dwStateMask = TCIS_HIGHLIGHTED; if (!GetItem(nTabIndex, &tci)) return; CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC); if (!pDC) return; int iOldBkMode = pDC->SetBkMode(TRANSPARENT); // Draw image on left side CImageList* piml = GetImageList(); if (tci.iImage >= 0 && piml && piml->m_hImageList) { IMAGEINFO ii; piml->GetImageInfo(0, &ii); rect.left += bSelected ? 8 : 4; piml->Draw(pDC, tci.iImage, CPoint(rect.left, rect.top + 2), ILD_TRANSPARENT); rect.left += (ii.rcImage.right - ii.rcImage.left); if (!bSelected) rect.left += 4; } bool bCloseable = m_bCloseable; if (bCloseable && GetParent()->SendMessage(UM_QUERYTAB, nTabIndex)) bCloseable = false; // Draw 'Close button' at right side if (bCloseable && m_ImgLstCloseButton.m_hImageList) { CRect rcCloseButton; GetCloseButtonRect(rect, rcCloseButton); m_ImgLstCloseButton.Draw(pDC, 0, rcCloseButton.TopLeft(), ILD_TRANSPARENT); rect.right = rcCloseButton.left - 2; } COLORREF crOldColor = RGB(0, 0, 0); if (tci.dwState & TCIS_HIGHLIGHTED) crOldColor = pDC->SetTextColor(RGB(192, 0, 0)); rect.top += 4; pDC->DrawText(szLabel, rect, DT_SINGLELINE | DT_TOP | DT_CENTER | DT_NOPREFIX); if (tci.dwState & TCIS_HIGHLIGHTED) pDC->SetTextColor(crOldColor); pDC->SetBkMode(iOldBkMode); }
/*=========================================== * format_month -- Formats month part of date * cal: [IN] calendar code (for named months) * mo: [IN] numeric month (0 for unknown) * mfmt: [IN] 0 - num, space * 1 - num, lead 0 (blank for blank) * 2 - num, as is * 3 - eg, MAR (3-8 will be localized) * 4 - eg, Mar * 5 - eg, MARCH * 6 - eg, March * 7 - eg, mar * 8 - eg, march * 9 - eg, MAR (GEDCOM) * 10 - roman lowercase (eg, v for May) * 11 - roman uppercase (eg, V for May) * 21 - num, lead 0, and "00" for blank * TOD: Do we want space-extended roman ? Before or after ? * returns static buffer or string constant or 0 *=========================================*/ static STRING format_month (INT cal, struct tag_dnum mo, INT mfmt) { INT casing; MONTH_NAMES * parr=0; static char scratch[3]; INT moval = mo.val; /* ignore complex months for now */ if (moval < 0 || moval > 13 || !is_valid_monthfmt(mfmt)) return NULL; if (mfmt <= 2 || mfmt == 21) { format_day(mo, mfmt, scratch); return scratch; } if (moval == 0) return (STRING) " "; if (mfmt == 9) return gedcom_month(cal, moval); if (mfmt == 10) return roman_lower[moval-1]; if (mfmt == 11) return roman_upper[moval-1]; casing = mfmt-3; ASSERT(casing>=0); ASSERT(casing<ARRSIZE(months_gj[0])); switch (cal) { case GDV_HEBREW: parr = months_heb; break; case GDV_FRENCH: parr = months_fr; break; default: if (moval>12) return " "; parr = months_gj; break; } if (parr[moval-1][casing]) return parr[moval-1][casing]; else return "?"; }
void CLogEditCtrl::Init(LPCTSTR pszTitle, LPCTSTR pszSkinKey) { CHAR szClassName[MAX_PATH]; GetClassNameA(*this, szClassName, ARRSIZE(szClassName)); m_bRichEdit = __ascii_stricmp(szClassName, "EDIT") != 0; m_strSkinKey = pszSkinKey; SetTitle(pszTitle); m_LogMenu.CreatePopupMenu(); m_LogMenu.AddMenuTitle(GetResString(IDS_LOGENTRY)); m_LogMenu.AppendMenu(MF_STRING, MP_COPYSELECTED, GetResString(IDS_COPY)); m_LogMenu.AppendMenu(MF_SEPARATOR); m_LogMenu.AppendMenu(MF_STRING, MP_SELECTALL, GetResString(IDS_SELECTALL)); m_LogMenu.AppendMenu(MF_STRING, MP_REMOVEALL, GetResString(IDS_PW_RESET)); m_LogMenu.AppendMenu(MF_STRING, MP_SAVELOG, GetResString(IDS_SAVELOG) + _T("...")); m_LogMenu.AppendMenu(MF_SEPARATOR); m_LogMenu.AppendMenu(MF_STRING, MP_AUTOSCROLL, GetResString(IDS_AUTOSCROLL)); VERIFY( SendMessage(EM_SETUNDOLIMIT, 0, 0) == 0 ); int iMaxLogBuff = thePrefs.GetMaxLogBuff(); if (afxData.bWin95) LimitText(m_iMaxLogBuff = (iMaxLogBuff > 0xFFFF ? 0xFFFF : iMaxLogBuff)); else LimitText(m_iMaxLogBuff = (iMaxLogBuff ? iMaxLogBuff : 128*1024)); FlushBuffer(); }
int main(void) { int small_map = array_create(8, 1); struct bpf_insn insns[] = { // load NULL pointer, tracked as "NULL or value pointer", into r0 BPF_LD_MAP_FD(BPF_REG_ARG1, small_map), BPF_MOV64_REG(BPF_REG_ARG2, BPF_REG_FP), BPF_ALU64_IMM(BPF_ADD, BPF_REG_ARG2, -4), BPF_ST_MEM(BPF_W, BPF_REG_ARG2, 0, 9), //oob index BPF_EMIT_CALL(BPF_FUNC_map_lookup_elem), // compute r9 = laundered_frame_pointer BPF_MOV64_REG(BPF_REG_9, BPF_REG_FP), BPF_ALU64_REG(BPF_SUB, BPF_REG_9, BPF_REG_0), // store r9 into map BPF_LD_MAP_FD(BPF_REG_ARG1, small_map), BPF_MOV64_REG(BPF_REG_ARG2, BPF_REG_FP), BPF_ALU64_IMM(BPF_ADD, BPF_REG_ARG2, -4), BPF_ST_MEM(BPF_W, BPF_REG_ARG2, 0, 0), BPF_EMIT_CALL(BPF_FUNC_map_lookup_elem), BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), BPF_STX_MEM(BPF_DW, BPF_REG_0, BPF_REG_9, 0), BPF_MOV64_IMM(BPF_REG_0, 0), BPF_EXIT_INSN() }; int sock_fd = create_filtered_socket_fd(insns, ARRSIZE(insns)); trigger_proc(sock_fd); printf("leaked pointer: 0x%lx\n", array_get_dw(small_map, 0)); }
/* * This routine maps UCS characters to 4-byte GB18030 characters */ NA_EIDPROC WChar_t // JAC __UCS_to_gb18030(ucs4_t ucs) { ucs_gb4idx_t key, *result ; int gb4idx ; int gb4 ; if (ucs < 0x10000) { key.hi_ucs = key.lo_ucs = ucs ; key.offset = INT_MAX ; if ((result = (ucs_gb4idx_t *)bsearch(&key, ucs_gb4idx_table, ARRSIZE(ucs_gb4idx_table), //JAC sizeof(ucs_gb4idx_table[0]), compare_ucs_gb4idx_C)) == NULL) //JAC return(BAD) ; gb4idx = result->offset + ucs; } else if (ucs < 0x110000) gb4idx = UCS_TO_4IDXE(ucs) ; /* Map plane 1-16 UCS character */ else return(BAD) ; GBIDX_GB18030(gb4idx, gb4) ; return((WChar_t)gb4) ; // JAC }
void CLog::StartNewLogFile() { time_t tStarted = m_tStarted; Close(); TCHAR szDateLogStarted[40]; _tcsftime(szDateLogStarted, ARRSIZE(szDateLogStarted), _T("%Y.%m.%d %H.%M.%S"), localtime(&tStarted)); TCHAR szDrv[_MAX_DRIVE]; TCHAR szDir[_MAX_DIR]; TCHAR szNam[_MAX_FNAME]; TCHAR szExt[_MAX_EXT]; _tsplitpath(m_strFilePath, szDrv, szDir, szNam, szExt); CString strLogBakNam; strLogBakNam = szNam; strLogBakNam += _T(" - "); strLogBakNam += szDateLogStarted; TCHAR szLogBakFilePath[MAX_PATH]; _tmakepath(szLogBakFilePath, szDrv, szDir, strLogBakNam, szExt); if (_trename(m_strFilePath, szLogBakFilePath) != 0) _tremove(m_strFilePath); Open(); }
bool CLogFile::Logf(LPCTSTR pszFmt, ...) { if (m_fp == NULL) return false; va_list argp; va_start(argp, pszFmt); TCHAR szMsg[1024]; _vsntprintf(szMsg, ARRSIZE(szMsg), pszFmt, argp); TCHAR szFullMsg[1060]; int iLen = _sntprintf(szFullMsg, ARRSIZE(szFullMsg), _T("%s: %s\r\n"), CTime::GetCurrentTime().Format(thePrefs.GetDateTimeFormat4Log()), szMsg); va_end(argp); return Log(szFullMsg, iLen); }
void CMiniMule::_OnBeforeNavigate2(LPDISPATCH pDisp, VARIANT* URL, VARIANT* /*Flags*/, VARIANT* /*TargetFrameName*/, VARIANT* /*PostData*/, VARIANT* /*Headers*/, BOOL* Cancel) { ASSERT( GetCurrentThreadId() == _uMainThreadId ); CString strURL(V_BSTR(URL)); TRACE(_T("%hs: %s\n"), __FUNCTION__, strURL); // No external links allowed! TCHAR szScheme[INTERNET_MAX_SCHEME_LENGTH]; URL_COMPONENTS Url = {0}; Url.dwStructSize = sizeof(Url); Url.lpszScheme = szScheme; Url.dwSchemeLength = ARRSIZE(szScheme); if (InternetCrackUrl(strURL, 0, 0, &Url) && Url.dwSchemeLength) { if (Url.nScheme != INTERNET_SCHEME_UNKNOWN // <absolute local file path> && Url.nScheme != INTERNET_SCHEME_RES // res://... && Url.nScheme != INTERNET_SCHEME_FILE) // file://... { *Cancel = TRUE; return; } } OnBeforeNavigate(pDisp, strURL); }
int GetRemoteKeyCode(int keynum){ int i; for(i=0;i<ARRSIZE(gRCKeyTran_01FE);i++){ if(gRCKeyTran_01FE[i].keycode==keynum) return gRCKeyTran_01FE[i].scanCode; } }