BlinkenArea - GitList
Repositories
Blog
Wiki
BlinkenLib
Code
Commits
Branches
Tags
Search
Tree:
e71a0ff
Branches
Tags
master
v0.1
v0.2
v0.3
v0.3.1
v0.4
v0.4.1
v0.5
v0.5.1
v0.5.2
v0.5.3
v0.5.4
v0.5.5
v0.6.0
v0.6.1
v0.6.2
v0.6.3
v0.6.4
v0.6.5
v0.6.6
v0.6.7
v0.6.8
v0.6.9
v0.7.0
v0.7.1
v0.7.10
v0.7.2
v0.7.3
v0.7.4
v0.7.5
v0.7.6
v0.7.7
v0.7.8
v0.7.9
v0.8.0
v0.8.1
BlinkenLib
src
Tools.c
move msleep and get_ms to tools, make public
Stefan Schuermans
commited
e71a0ff
at 2023-08-18 09:57:23
Tools.c
Blame
History
Raw
/* BlinkenLib Copyright 2004-2023 Stefan Schuermans <stefan@schuermans.info> Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html a blinkenarea.org project */ #include "Tools.h" #include <stdlib.h> #ifdef WIN32 #include <windows.h> #include <winsock2.h> #else #include <sys/time.h> #include <unistd.h> #endif void *BlinkenMalloc1D(int count1, int size) { if (count1 < 1) count1 = 1; if (size < 1) return NULL; return malloc(count1 * size); } void **BlinkenMalloc2D(int count1, int count2, int size) { int sz, i; char *p; void **ptr; if (count1 < 1) count1 = 1; if (count2 < 1) count2 = 1; if (size < 1) return NULL; sz = count1 * sizeof(void *) + count1 * count2 * size; p = (char *)malloc(sz); if (p == NULL) return NULL; ptr = (void **)p; p += count1 * sizeof(void *); for (i = 0; i < count1; i++) { ptr[i] = (void *)p; p += count2 * size; } return ptr; } #ifdef WIN32 void BlinkenMSleep(unsigned int ms) { Sleep(ms); } unsigned int BlinkenGetMs(void) { return GetTickCount(); } #else void BlinkenMSleep(unsigned int ms) { usleep(ms * 1000); } unsigned int BlinkenGetMs(void) { struct timeval tv; gettimeofday(&tv, NULL); return (unsigned int)(tv.tv_usec / 1000 + tv.tv_sec * 1000); } #endif