void SwPack::printXML(bool d) { char vHelpStr[256]; printf("\t<SWPack>\n"); strncpy(vHelpStr, (char*)this->mHeader->mMagicNumber, SW_UPDATE_MAGIC_SIZE); vHelpStr[SW_UPDATE_MAGIC_SIZE] = '\0'; if(d) printf("\t\t<MagicNumber value=\"%s\" />\n", vHelpStr); printf("\t\t<HeaderVersion value=\"%d\" />\n", this->mHeader->mHeaderVersion); printf("\t\t<ProductCode value=\"%08Xh\" />\n", this->mHeader->mProductCode); printf("\t\t<SWVersion value=\"%d\" />\n", this->mHeader->mSWVersion); printf("\t\t<Date value=\"%d\" str=\"%s\" />\n", (int)this->mHeader->mDate, strTime(this->mHeader->mDate)); if(d) printf("\t\t<InventoryCount value=\"%d\" />\n", this->mHeader->mInventoryCount); if(d) printf("\t\t<InvalidateFlag value=\"%d\" />\n", this->mHeader->mInvalidateFlag); strncpy(vHelpStr, this->mHeader->mUpdateInfo, SW_UPDATE_INFO_LENGTH); vHelpStr[SW_UPDATE_INFO_LENGTH] = '\0'; printf("\t\t<UpdateInfo value=\"%s\" />\n", vHelpStr); for(uint32_t i = 0; i < this->mInventoryCount; i++) { this->mInventory[i]->printXML(d); } printf("\t</SWPack>\n"); }
std::string GetCurrTime() { std::string strTime(64, '\0'); time_t now = std::time(0); struct std::tm* gmtm = std::gmtime(&now); if (gmtm != NULL) { sprintf(&strTime[0], "%04i-%02i-%02i %02i:%02i+0000", gmtm->tm_year + 1900, gmtm->tm_mon + 1, gmtm->tm_mday, gmtm->tm_hour, gmtm->tm_min); } return strTime; }
MailString MailWrapper::prepareDate() { char date_string[MAX_BUFFER_SIZE]; time_t seconds; time(&seconds); strftime(date_string, MAX_BUFFER_SIZE, "%a, %d %b %y %H:%M:%S +0800", localtime(&seconds)); // +0800 maybe hard code int nDstLen = 0; TCHAR *pTime = M_A2T(date_string, sizeof(date_string), nDstLen); MailString strTime(pTime, nDstLen); delete[] pTime; return strTime; }
bool bCheck(CString strName, CString strKey, CString strLicense) { bool bRet = false; CRC4_ rc; rc.put_Key(_T("a4b3c0d6e8f1a1b9c8d3e1f0a2b8c1d4e1f6a")); // CString str = rc.Crypt2(_T("国家开发银行-20090701")); // CString strMW = rc.Crypt(_T("思博智创-20090701")); TCHAR szExe[MAX_PATH] = {0}; TCHAR szCompany[MAX_PATH] = {0}; TCHAR szExpriseDate[MAX_PATH] = {0}; CString strDe = rc.Crypt2(strLicense); //int iPos = strDe.ReverseFind(_T('-')); //CString strLeft = strDe.Left(iPos); //CString strRight = strDe.Mid(iPos+1); _stscanf(strDe.GetBuffer(),_T("%s %s %s"),szExe,szCompany,szExpriseDate); CString strExe = GetProcessName(); if (strExe.CompareNoCase(szExe) == 0) { if (strName.CompareNoCase(szCompany) == 0) { SYSTEMTIME ti = {0}; ::GetSystemTime(&ti); CString strSysTime; strSysTime.Format(_T("%04d%02d%02d"),ti.wYear,ti.wMonth,ti.wDay); CString strTime(szExpriseDate); if (strSysTime<strTime) { bRet = true; } } } return bRet; }
void dumpXML(FILE *outfile, char *header) { SVT_CONTROL *svtcur ; EIT_CONTROL *eitcur ; char cendtime[32]; char cstarttime[32]; fprintf(outfile, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); fprintf(outfile, "<!DOCTYPE tv SYSTEM \"xmltv.dtd\">\n\n"); fprintf(outfile, "<tv generator-info-name=\"tsEPG2xml\" generator-info-url=\"http://localhost/\">\n"); svtcur = svttop->next; while(svtcur != NULL) { if (!svtcur->haveeitschedule) { svtcur = svtcur->next; continue; } memset(ServiceName, '\0', sizeof(ServiceName)); strcpy(ServiceName, svtcur->service_name); xmlspecialchars(ServiceName); fprintf(outfile, " <channel id=\"%s_%d\" tp=\"%s\">\n", (svtcur->original_network_id < 0x10) ? header : "GR", svtcur->service_id, (svtcur->original_network_id < 0x10) ? getTP(svtcur->transport_stream_id) : header); fprintf(outfile, " <display-name lang=\"ja_JP\">%s</display-name>\n", ServiceName); fprintf(outfile, " <transport_stream_id>%d</transport_stream_id>\n", svtcur->transport_stream_id); fprintf(outfile, " <original_network_id>%d</original_network_id>\n", svtcur->original_network_id); fprintf(outfile, " <service_id>%d</service_id>\n", svtcur->service_id); fprintf(outfile, " </channel>\n"); svtcur = svtcur->next; } svtcur = svttop->next; while(svtcur != NULL) { if (!svtcur->haveeitschedule) { svtcur = svtcur->next; continue; } eitcur = svtcur->eit; while(eitcur != NULL){ if(!eitcur->service_id){ eitcur = eitcur->next ; continue ; } if(eitcur->content_type > CAT_COUNT){ eitcur->content_type = CAT_COUNT -1 ; } memset(title, '\0', sizeof(title)); strcpy(title, eitcur->title); xmlspecialchars(title); memset(subtitle, '\0', sizeof(subtitle)); strcpy(subtitle, eitcur->subtitle); xmlspecialchars(subtitle); memset(Category, '\0', sizeof(Category)); strcpy(Category, ContentCatList[eitcur->content_type].japanese); xmlspecialchars(Category); memset(cendtime, '\0', sizeof(cendtime)); memset(cstarttime, '\0', sizeof(cstarttime)); strcpy(cendtime, strTime(eitcur->start_time + eitcur->duration , "%Y%m%d%H%M%S")); strcpy(cstarttime, strTime(eitcur->start_time, "%Y%m%d%H%M%S")); fprintf(outfile, " <programme start=\"%s +0900\" stop=\"%s +0900\" channel=\"%s_%d\" event_id=\"%d\">\n", cstarttime, cendtime, (svtcur->original_network_id < 0x10) ? header : "GR", svtcur->service_id, eitcur->event_id); fprintf(outfile, " <title lang=\"ja_JP\">%s</title>\n", title); fprintf(outfile, " <desc lang=\"ja_JP\">%s</desc>\n", subtitle); fprintf(outfile, " <category lang=\"ja_JP\">%s</category>\n", Category); fprintf(outfile, " <category lang=\"en\">%s</category>\n", ContentCatList[eitcur->content_type].english); fprintf(outfile, " </programme>\n"); eitcur = eitcur->next; } svtcur = svtcur->next; } fprintf(outfile, "</tv>\n"); }
//szDate:YYYYMMDD //ret:0,suc; -1,fail int CFunctionPub::String2Time(const char* szDate, time_t &tmDate) { struct tm dstDate; if(szDate && strlen(szDate) >= 8) { char szYear[8] = {0}; char szMonth[8] = {0}; char szDay[8] = {0}; ZeroMemory((void*)&dstDate, sizeof(dstDate)); strncpy(szYear, szDate, 4); dstDate.tm_year = atoi(szYear) - 1900; strncpy(szMonth, szDate + 4, 2); dstDate.tm_mon = atoi(szMonth) - 1; strncpy(szDay, szDate + 6, 2); dstDate.tm_mday = atoi(szDay); //20160428 14:25:03 if (strlen(szDate) == 17) { CString strTime(szDate); strTime = strTime.Right(8); int nt = strTime.Find(':'); int nt2 = strTime.ReverseFind(':'); char szHour[8] = {0}; char szMin[8] = {0}; char szSec[8] = {0}; if (2 == nt && 5 == nt2) { strcpy(szHour, strTime.Left(2)); strcpy(szMin, strTime.Mid(nt + 1, 2)); strcpy(szSec, strTime.Right(2)); dstDate.tm_hour = atoi(szHour); dstDate.tm_min = atoi(szMin); dstDate.tm_sec = atoi(szSec); } } else if (strlen(szDate) == 15)//20160428 142503 { char szHour[8] = {0}; char szMin[8] = {0}; char szSec[8] = {0}; CString strTime(szDate); strTime = strTime.Right(6); strcpy(szHour, strTime.Left(2)); strcpy(szMin, strTime.Mid(2, 2)); strcpy(szSec, strTime.Right(2)); dstDate.tm_hour = atoi(szHour); dstDate.tm_min = atoi(szMin); dstDate.tm_sec = atoi(szSec); } tmDate = mktime(&dstDate); return 0; } return -1; }