void memtest(size_t megabytes, int passes) { #ifdef WIN32 HANDLE hOut; CONSOLE_SCREEN_BUFFER_INFO b; hOut = GetStdHandle(STD_OUTPUT_HANDLE); if (GetConsoleScreenBufferInfo(hOut, &b)) { ws.ws_col = b.dwSize.X; ws.ws_row = b.dwSize.Y; } else { ws.ws_col = 80; ws.ws_row = 20; } #else if (ioctl(1, TIOCGWINSZ, &ws) == -1) { ws.ws_col = 80; ws.ws_row = 20; } #endif memtest_test(megabytes,passes); printf("\nYour memory passed this test.\n"); printf("Please if you are still in doubt use the following two tools:\n"); printf("1) memtest86: http://www.memtest86.com/\n"); printf("2) memtester: http://pyropus.ca/software/memtester/\n"); exit(0); }
/* Perform an interactive test allocating the specified number of megabytes. */ void memtest_alloc_and_test(size_t megabytes, int passes) { size_t bytes = megabytes*1024*1024; unsigned long *m = malloc(bytes); if (m == NULL) { fprintf(stderr,"Unable to allocate %zu megabytes: %s", megabytes, strerror(errno)); exit(1); } memtest_test(m,bytes,passes,1); free(m); }
void memtest(size_t megabytes, int passes) { if (ioctl(1, TIOCGWINSZ, &ws) == -1) { ws.ws_col = 80; ws.ws_row = 20; } memtest_test(megabytes,passes); printf("\nYour memory passed this test.\n"); printf("Please if you are still in doubt use the following two tools:\n"); printf("1) memtest86: http://www.memtest86.com/\n"); printf("2) memtester: http://pyropus.ca/software/memtester/\n"); exit(0); }