// Write. Create if not exist. static void WriteMetaFile() { char meta_fn[MAX_FILEPATH_LEN]; char str[256] = {0}; // NOTE: I do not want to use binary serialization here because I think // it good to keep human readable. sprintf(str, "%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu", (long long unsigned int)g_meta.g_test_cnt, (long long unsigned int)g_meta.L_test, (long long unsigned int)g_meta.Write_40bytes, (long long unsigned int)g_meta.Read_40bytes, (long long unsigned int)g_meta.Define_NVRAM, (long long unsigned int)g_meta.Write_705bytes, (long long unsigned int)g_meta.Read_705bytes, (long long unsigned int)g_meta.Write_1704bytes, (long long unsigned int)g_meta.Read_1704bytes, (long long unsigned int)g_meta.Write_576bytes, (long long unsigned int)g_meta.Read_576bytes ); GenerateFilePath(meta_fn, META_FILEPATH); WriteFile(meta_fn, str, strlen(str)); }
// Read metafile if exist, otherwise all are 0. This function is used in // initialization void ReadMetaFile() { FILE *fp; char meta_fn[MAX_FILEPATH_LEN]; GenerateFilePath(meta_fn, META_FILEPATH); fp = fopen(meta_fn, "r"); if (fp == NULL) { memset(&g_meta, 0, sizeof(g_meta)); return; } fscanf(fp, "%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu,%llu", (long long unsigned int*)&g_meta.g_test_cnt, (long long unsigned int*)&g_meta.L_test, (long long unsigned int*)&g_meta.Write_40bytes, (long long unsigned int*)&g_meta.Read_40bytes, (long long unsigned int*)&g_meta.Define_NVRAM, (long long unsigned int*)&g_meta.Write_705bytes, (long long unsigned int*)&g_meta.Read_705bytes, (long long unsigned int*)&g_meta.Write_1704bytes, (long long unsigned int*)&g_meta.Read_1704bytes, (long long unsigned int*)&g_meta.Write_576bytes, (long long unsigned int*)&g_meta.Read_576bytes ); fclose(fp); }
void LogVerbose(char* fmt,...) { va_list args; char temp_str[LOG_MSG_LENGTH] = { 0 }; char final_str[LOG_MSG_LENGTH] = {0}; char log_fn[MAX_FILEPATH_LEN]; va_start (args, fmt); vsprintf (temp_str, fmt, args); GenerateFilePath (log_fn, VERBOSELOG_FILEPATH); GetCurrentTime(final_str); strcat(final_str, temp_str); final_str[LOG_MSG_LENGTH - 1] = '\0'; AppendFile (log_fn, final_str, strlen(final_str)); va_end(args); }
void CMapiFolderList::AddItem( CMapiFolder *pFolder) { EnsureUniqueName( pFolder); GenerateFilePath( pFolder); m_array.AppendElement( pFolder); }