void * AddTempGroup(HWND hwnd,struct ClcData *dat,const TCHAR *szName,DWORD flags,int groupId,int calcTotalMembers) { int i=0; int f=0; char * szGroupName; DWORD groupFlags; if (WildCompare((char*)szName,"* Hidden Group",0)) { if(ServiceExists(MS_MC_ADDTOMETA)) return NULL; else return(&dat->list); } for(i=1;;i++) { szGroupName=(char*)CallService(MS_CLIST_GROUPGETNAME2,i,(LPARAM)&groupFlags); if(szGroupName==NULL) break; if (boolstrcmpi(szGroupName,szName)) f=1; } if (!f) { char buf[20]; char b2[255]; void * res=NULL; _snprintf(buf,sizeof(buf),"%d",(i-1)); _snprintf(b2,sizeof(b2),"#%s",szName); b2[0]=1|GROUPF_EXPANDED; DBWriteContactSettingString(NULL,"CListGroups",buf,b2); CallService(MS_CLIST_GROUPGETNAME2,i,(LPARAM)&groupFlags); res=AddGroup(hwnd,dat,szName,groupFlags,i,0); return res; } return NULL; }
BOOL CompareModernMask(ModernMask * mmValue,ModernMask * mmTemplate) { //TODO BOOL res=TRUE; BOOL exit=FALSE; BYTE pVal=0, pTemp=0; while (pTemp<mmTemplate->ParamsCount && pVal<mmValue->ParamsCount && !exit) { // find pTemp parameter in mValue DWORD vh, ph; BOOL finded=0; ModernParam p=mmTemplate->ParamsList[pTemp]; ph=p.ParamID; vh=p.ValueHash; pVal=0; if (p.ParamFlag&4) //compare by hash while (pVal<mmValue->ParamsCount && mmValue->ParamsList[pVal].ParamFlag !=0) { if (mmValue->ParamsList[pVal].ParamID==ph) { if (mmValue->ParamsList[pVal].ValueHash==vh){finded=1; break;} else {finded=0; break;} } pVal++; } else while (mmValue->ParamsList[pVal].ParamFlag!=0) { if (mmValue->ParamsList[pVal].ParamID==ph) { if (WildCompare(mmValue->ParamsList[pVal].Value,p.Value,0)){finded=1; break;} else {finded=0; break;} } pVal++; } if (!((finded && !(p.ParamFlag&2)) || (!finded && (p.ParamFlag&2)))) {res=FALSE; break;} pTemp++; } return res; };
void * AddTempGroup(HWND hwnd,struct ClcData *dat,const TCHAR *szName,DWORD flags,int groupId,int calcTotalMembers) { int i=0; int f=0; TCHAR * szGroupName; DWORD groupFlags; #ifdef UNICODE char *mbuf=u2a((TCHAR *)szName); #else char *mbuf=mir_strdup((char *)szName); #endif if (WildCompare(mbuf,"* Hidden Group",0)) { mir_free(mbuf); if(ServiceExists(MS_MC_ADDTOMETA)) return NULL; else return(&dat->list); } mir_free(mbuf); for(i=1;;i++) { szGroupName=(TCHAR*)CallService(MS_CLIST_GROUPGETNAMET,i,(LPARAM)&groupFlags); if(szGroupName==NULL) break; if (!MyStrCmpiT(szGroupName,szName)) f=1; } if (!f) { char buf[20]; TCHAR b2[255]; void * res=NULL; _snprintf(buf,sizeof(buf),"%d",(i-1)); _sntprintf(b2,sizeof(b2),_T("#%s"),szName); b2[0]=1|GROUPF_EXPANDED; DBWriteContactSettingTString(NULL,"CListGroups",buf,b2); CallService(MS_CLIST_GROUPGETNAMET,i,(LPARAM)&groupFlags); res=AddGroup(hwnd,dat,szName,groupFlags,i,0); return res; } return NULL; }
void * AddTempGroup(HWND hwnd,struct ClcData *dat,const TCHAR *szName,DWORD flags,int groupId,int calcTotalMembers) { int i=0; int f=0; TCHAR * szGroupName; DWORD groupFlags; #ifdef UNICODE char *mbuf=u2a((TCHAR *)szName); #else char *mbuf=mir_strdup((char *)szName); #endif if (WildCompare(mbuf,"-@-HIDDEN-GROUP-@-",0)) { mir_free(mbuf); return NULL; } mir_free(mbuf); for(i=1;;i++) { szGroupName = pcli->pfnGetGroupName(i,&groupFlags); if(szGroupName==NULL) break; if (!mir_tstrcmpi(szGroupName,szName)) f=1; } if (!f) { char buf[20]; TCHAR b2[255]; void * res=NULL; _snprintf(buf,sizeof(buf),"%d",(i-1)); _sntprintf(b2,sizeof(b2),_T("#%s"),szName); b2[0]=1|GROUPF_EXPANDED; DBWriteContactSettingTString(NULL,"CListGroups",buf,b2); pcli->pfnGetGroupName(i,&groupFlags); res=cli_AddGroup(hwnd,dat,szName,groupFlags,i,0); return res; } return NULL; }
static void MatchMasks(TCHAR* szMirVer, short *base, short *overlay, short *overlay2, short *overlay3, short *overlay4) { int i = 0, j = -1, k = -1, n = -1, m = -1; for (i = 0; i < DEFAULT_KN_FP_MASK_COUNT; i++) { KN_FP_MASK& p = def_kn_fp_mask[i]; if (p.hIcolibItem == NULL) continue; if (!WildCompareW(szMirVer, p.szMaskUpper)) continue; if (p.iIconIndex != IDI_NOTFOUND && p.iIconIndex != IDI_UNKNOWN && p.iIconIndex != IDI_UNDETECTED) { TCHAR destfile[MAX_PATH]; _tcsncpy_s(destfile, g_szSkinLib, _TRUNCATE); struct _stat64i32 stFileInfo; if (_tstat(destfile, &stFileInfo) == -1) i = NOTFOUND_MASK_NUMBER; } break; } if (i == DEFAULT_KN_FP_MASK_COUNT - 1) i = -1; else if (!def_kn_fp_mask[i].fNotUseOverlay && i < DEFAULT_KN_FP_MASK_COUNT) { for (j = 0; j < DEFAULT_KN_FP_OVERLAYS_COUNT; j++) { KN_FP_MASK& p = def_kn_fp_overlays_mask[j]; if (p.hIcolibItem == NULL) continue; if (!WildCompare(szMirVer, p.szMaskUpper)) continue; struct _stat64i32 stFileInfo; if (_tstat(g_szSkinLib, &stFileInfo) != -1) break; } for (k = 0; k < DEFAULT_KN_FP_OVERLAYS2_COUNT; k++) { KN_FP_MASK& p = def_kn_fp_overlays2_mask[k]; if (p.hIcolibItem == NULL) continue; if (WildCompareW(szMirVer, p.szMaskUpper)) break; } for (n = 0; n < DEFAULT_KN_FP_OVERLAYS3_COUNT; n++) { KN_FP_MASK& p = def_kn_fp_overlays3_mask[n]; if (p.hIcolibItem == NULL) continue; if (WildCompareW(szMirVer, p.szMaskUpper)) break; } for (m = 0; m < DEFAULT_KN_FP_OVERLAYS4_COUNT; m++) { KN_FP_MASK& p = def_kn_fp_overlays4_mask[m]; if (p.hIcolibItem == NULL) continue; if (WildCompareW(szMirVer, p.szMaskUpper)) break; } } *base = (i < DEFAULT_KN_FP_MASK_COUNT) ? i : -1; *overlay = (j < DEFAULT_KN_FP_OVERLAYS_COUNT) ? j : -1; *overlay2 = (k < DEFAULT_KN_FP_OVERLAYS2_COUNT) ? k : -1; *overlay3 = (n < DEFAULT_KN_FP_OVERLAYS3_COUNT) ? n : -1; *overlay4 = (m < DEFAULT_KN_FP_OVERLAYS4_COUNT) ? m : -1; }