X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/b97311b1bde85d0aa388085e9a5747ac4da680d5..refs/pull/304/head:/client/util.c?ds=sidebyside diff --git a/client/util.c b/client/util.c index 593eaa52..13067ec1 100644 --- a/client/util.c +++ b/client/util.c @@ -174,7 +174,7 @@ char *sprint_bin_break(const uint8_t *data, const size_t len, const uint8_t brea if (data[in_index]<10) sprintf(tmp++, "%u", (unsigned int) data[in_index]); // check if a line break is needed and we have room to print it in our array - if ( (breaks > 0) && !((in_index+1) % breaks) && (out_index+1 != max_len) ) { + if ( (breaks > 0) && !((in_index+1) % breaks) && (out_index+1 < max_len) ) { // increment and print line break out_index++; sprintf(tmp++, "%s","\n"); @@ -656,3 +656,19 @@ uint64_t msclock() { return (t.tv_sec * 1000 + t.tv_nsec / 1000000); #endif } + +// determine number of logical CPU cores (use for multithreaded functions) +extern int num_CPUs(void) +{ +#if defined(_WIN32) + #include <sysinfoapi.h> + SYSTEM_INFO sysinfo; + GetSystemInfo(&sysinfo); + return sysinfo.dwNumberOfProcessors; +#elif defined(__linux__) || defined(__APPLE__) + #include <unistd.h> + return sysconf(_SC_NPROCESSORS_ONLN); +#else + return 1; +#endif +}