int ms_append_test(void) { wchar_t wbuf[512]; size_t cbbuf; khm_int32 code; int i; printf("khc_multi_string_append() test:\n"); for(i=0; i<n_strings; i++) { cbbuf = sizeof(wbuf); khc_csv_to_multi_string(wbuf, &cbbuf, strings[i].csv); printf("MS["); print_ms(wbuf); printf("] + [foo]=["); cbbuf = sizeof(wbuf); code = khc_multi_string_append(wbuf, &cbbuf, L"foo"); if(code) { printf(" returned %d\n", code); return code; } print_ms(wbuf); printf("]\n"); printf(" byte length: %d\n", cbbuf); } return code; }
int ms_append_test(void) { wchar_t wbuf[512]; size_t cbbuf; khm_int32 code; int i; for(i=0; i<n_strings; i++) { cbbuf = sizeof(wbuf); csv_to_multi_string(wbuf, &cbbuf, strings[i].csv); log(KHERR_DEBUG_1, "MS["); print_ms(wbuf); log(KHERR_DEBUG_1, "] + [foo]=["); cbbuf = sizeof(wbuf); code = multi_string_append(wbuf, &cbbuf, L"foo"); if(code) { log(KHERR_DEBUG_1, " returned %d\n", code); return code; } print_ms(wbuf); log(KHERR_DEBUG_1, "]\n"); log(KHERR_DEBUG_1, " byte length: %d\n", cbbuf); } return code; }
void print_ms2(m_struct2 ms2) { printf("ms2.i: %d, ms2.j: %d, ms2.k: %d\n", ms2.i, ms2.j, ms2.k); printf("ms2.str: "); print_str(ms2.str); printf("ms2.ms1:\n"); print_ms(ms2.ms1); printf("ms2.ms2:\n"); print_ms(ms2.ms2); printf("ms2.c1: %c, ms2.c2: %c, ms2.c3: %c\n", ms2.c1, ms2.c1, ms2.c3); }
int main() { TimePoint<Sec> time_point_sec(Sec(4)); // implicit cast, no precision loss TimePoint<Ms> time_point_ms(time_point_sec); print_ms(time_point_ms); // 4000 ms time_point_ms = TimePoint<Ms>(Ms(5756)); // explicit cast, need when precision loss may happens // 5756 truncated to 5000 time_point_sec = std::chrono::time_point_cast<Sec>(time_point_ms); print_ms(time_point_sec); // 5000 ms }
int csv_to_ms_test(void) { wchar_t wbuf[512]; int i; khm_int32 code = 0; size_t cbbuf; size_t cbr; size_t cbnull; printf("khc_csv_to_multi_string() test:\n"); for(i=0; i<n_strings; i++) { cbbuf = sizeof(wbuf); printf("CSV:[%S]->", strings[i].csv); code = khc_csv_to_multi_string(NULL, &cbnull, strings[i].csv); code = khc_csv_to_multi_string(wbuf, &cbbuf, strings[i].csv); if(code) { printf(" returned %d\n", code); return code; } printf("MS["); print_ms(wbuf); printf("]"); if(cbnull != cbbuf) { printf(" NULL length mismatch"); return 1; } printf("\n"); printf(" Byte length:%d\n", cbbuf); } return code; }
int csv_to_ms_test(void) { wchar_t wbuf[512]; int i; khm_int32 code = 0; size_t cbbuf; size_t cbnull; for(i=0; i<n_strings; i++) { cbbuf = sizeof(wbuf); log(KHERR_DEBUG_1, "CSV:[%S]->", strings[i].csv); code = csv_to_multi_string(NULL, &cbnull, strings[i].csv); code = csv_to_multi_string(wbuf, &cbbuf, strings[i].csv); if(code) { log(KHERR_DEBUG_1, " returned %d\n", code); return code; } log(KHERR_DEBUG_1, "MS["); print_ms(wbuf); log(KHERR_DEBUG_1, "]"); if(cbnull != cbbuf) { log(KHERR_ERROR, " NULL length mismatch"); return 1; } log(KHERR_DEBUG_1, "\n"); log(KHERR_DEBUG_1, " Byte length:%d\n", cbbuf); } return code; }
int test_func(gchar *str1, m_struct ms, m_struct2 ms2) { printf("str1: "); print_str(str1); print_ms(ms); print_ms2(ms2); return 11234; }
int ms_delete_test(void) { int code = 0; wchar_t wbuf[512]; int i; size_t cbs; printf("khc_multi_string_delete() test:\n"); for(i=0; i<n_strings; i++) { cbs = sizeof(wbuf); khc_csv_to_multi_string(wbuf, &cbs, strings[i].csv); printf("MS["); print_ms(wbuf); printf("] - [b]=["); printf("cs:"); code = khc_multi_string_delete(wbuf, L"b", KHC_CASE_SENSITIVE); if(code) { printf("ci:"); code = khc_multi_string_delete(wbuf, L"b", 0); } if(code) { printf("pcs:"); code = khc_multi_string_delete(wbuf, L"b", KHC_CASE_SENSITIVE | KHC_PREFIX); } if(code) { printf("pci:"); code = khc_multi_string_delete(wbuf, L"b", KHC_PREFIX); } if(!code) print_ms(wbuf); else printf(" returned %d\n", code); printf("]\n"); } return code; }
int ms_delete_test(void) { int code = 0; wchar_t wbuf[512]; int i; size_t cbs; for(i=0; i<n_strings; i++) { cbs = sizeof(wbuf); csv_to_multi_string(wbuf, &cbs, strings[i].csv); log(KHERR_DEBUG_1, "MS["); print_ms(wbuf); log(KHERR_DEBUG_1, "] - [b]=["); log(KHERR_DEBUG_1, "cs:"); code = multi_string_delete(wbuf, L"b", KHM_CASE_SENSITIVE); if(code) { log(KHERR_DEBUG_1, "ci:"); code = multi_string_delete(wbuf, L"b", 0); } if(code) { log(KHERR_DEBUG_1, "pcs:"); code = multi_string_delete(wbuf, L"b", KHM_CASE_SENSITIVE | KHM_PREFIX); } if(code) { log(KHERR_DEBUG_1, "pci:"); code = multi_string_delete(wbuf, L"b", KHM_PREFIX); } if(!code) print_ms(wbuf); else log(KHERR_DEBUG_1, " returned %d\n", code); log(KHERR_DEBUG_1, "]\n"); } return code; }
int ms_to_csv_test(void) { wchar_t wbuf[512]; int i; khm_int32 code = 0; size_t cbbuf; size_t cbr; size_t cbnull; printf("khc_multi_string_to_csv() test:\n"); for(i=0; i<n_strings; i++) { cbbuf = sizeof(wbuf); printf("Multi string:["); print_ms(strings[i].ms); printf("]->"); code = khc_multi_string_to_csv(NULL, &cbnull, strings[i].ms); code = khc_multi_string_to_csv(wbuf, &cbbuf, strings[i].ms); if(code) { printf(" returned %d\n", code); return code; } printf("CSV[%S]", wbuf); if(wcscmp(wbuf, strings[i].csv)) { printf(" MISMATCH!"); return 1; } StringCbLength(wbuf, sizeof(wbuf), &cbr); cbr+= sizeof(wchar_t); if(cbr != cbbuf) { printf(" Length mismatch"); return 1; } if(cbnull != cbr) { printf(" NULL length mismatch"); return 1; } printf("\n"); } return code; }