summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/buffer.c11
-rw-r--r--src/util/packet.c10
-rw-r--r--src/util/packet.h3
-rw-r--r--src/util/thread/thread.h2
-rw-r--r--src/util/thread/thread_linux.c6
-rw-r--r--src/util/thread/thread_windows.c8
-rw-r--r--src/util/timer/timer_windows.c4
7 files changed, 22 insertions, 22 deletions
diff --git a/src/util/buffer.c b/src/util/buffer.c
index 4f184b9..32a8230 100644
--- a/src/util/buffer.c
+++ b/src/util/buffer.c
@@ -1,13 +1,14 @@
#include "buffer.h"
-#define INITIAL_SIZE 128
+#define BUFFER_INITIAL_SIZE 128
void aki_buffer_ensure_space(struct aki_buffer *buf, size_t size)
{
- if (buf->alloc >= size) return;
- if (size < INITIAL_SIZE) buf->alloc = INITIAL_SIZE;
- else buf->alloc = al_next_power_of_two(size);
- buf->data = buf->data ? al_realloc(buf->data, buf->alloc) : al_malloc(buf->alloc);
+ if (size > buf->alloc) {
+ if (size < BUFFER_INITIAL_SIZE) buf->alloc = BUFFER_INITIAL_SIZE;
+ else buf->alloc = al_next_power_of_two(size);
+ buf->data = buf->data ? al_realloc(buf->data, buf->alloc) : al_malloc(buf->alloc);
+ }
}
void aki_buffer_init(struct aki_buffer *buf)
diff --git a/src/util/packet.c b/src/util/packet.c
index 373a3a3..ae36fcd 100644
--- a/src/util/packet.c
+++ b/src/util/packet.c
@@ -60,7 +60,8 @@ void aki_packet_write_str(struct aki_packet *packet, str *s)
void aki_packet_write_buffer(struct aki_packet *packet, struct aki_buffer *buf)
{
- AKI_PACKET_WRITE_TYPE(packet, size_t, buf->size);
+ u64 size = (u64)buf->size;
+ AKI_PACKET_WRITE_TYPE(packet, u64, size);
AKI_PACKET_WRITE_DATA(packet, aki_buffer_get_ptr(buf, 0), buf->size);
}
@@ -92,12 +93,14 @@ void aki_packet_read_str(struct aki_packet *packet, str *s)
void aki_packet_read_buffer(struct aki_packet *packet, struct aki_buffer *buf)
{
- AKI_PACKET_READ_TYPE(packet, size_t, buf->size);
+ u64 size;
+ AKI_PACKET_READ_TYPE(packet, u64, size);
+ al_assert((sizeof(size_t) > 4 || size <= INT32_MAX));
+ buf->size = (size_t)size;
AKI_PACKET_READ_DATA(packet, buf->size, buf->data);
buf->alloc = 0;
}
-#ifdef AL_HAVE_WIDE_STRING
void aki_packet_write_wstr(struct aki_packet *packet, wstr *w)
{
AKI_PACKET_WRITE_TYPE(packet, u32, w->len);
@@ -110,7 +113,6 @@ void aki_packet_read_wstr(struct aki_packet *packet, wstr *w)
AKI_PACKET_READ_DATA(packet, w->len * sizeof(wchar_t), w->data);
w->alloc = 0;
}
-#endif
void aki_packet_free(struct aki_packet *packet)
{
diff --git a/src/util/packet.h b/src/util/packet.h
index cacd82c..4f5b28c 100644
--- a/src/util/packet.h
+++ b/src/util/packet.h
@@ -13,7 +13,6 @@ struct aki_packet {
struct aki_buffer buffer;
u32 rindex;
u32 windex;
- void *userdata;
};
#define AKI_PACKET_GET_ID(p) \
@@ -68,9 +67,7 @@ f64 aki_packet_read_f64(struct aki_packet *packet);
void aki_packet_read_str(struct aki_packet *packet, str *s);
void aki_packet_read_buffer(struct aki_packet *packet, struct aki_buffer *buf);
-#ifdef AL_HAVE_WIDE_STRING
void aki_packet_write_wstr(struct aki_packet *packet, wstr *w);
void aki_packet_read_wstr(struct aki_packet *packet, wstr *w);
-#endif
void aki_packet_free(struct aki_packet *packet);
diff --git a/src/util/thread/thread.h b/src/util/thread/thread.h
index 8860d2d..6a04647 100644
--- a/src/util/thread/thread.h
+++ b/src/util/thread/thread.h
@@ -47,7 +47,7 @@ typedef unsigned long aki_thread_result;
typedef aki_thread_result (AKI_THREADCALL * aki_thread_func)(void *);
-void aki_thread_sleep(aki_os_tstamp ts);
+void aki_thread_sleep(aki_os_tstamp delay);
void aki_thread_create(struct aki_thread *thread, aki_thread_func func, void *userdata);
void aki_thread_join(struct aki_thread *thread);
diff --git a/src/util/thread/thread_linux.c b/src/util/thread/thread_linux.c
index e1d694c..6df84e9 100644
--- a/src/util/thread/thread_linux.c
+++ b/src/util/thread/thread_linux.c
@@ -4,11 +4,11 @@
#include "thread.h"
-void aki_thread_sleep(aki_os_tstamp ts)
+void aki_thread_sleep(aki_os_tstamp delay)
{
struct timespec tv;
- tv.tv_sec = (s64)ts;
- tv.tv_nsec = (s64)((ts - tv.tv_sec) * 1e9);
+ tv.tv_sec = (s64)delay;
+ tv.tv_nsec = (s64)((delay - tv.tv_sec) * 1e9);
while (nanosleep(&tv, &tv) == -1 && errno == EINTR) {}
}
diff --git a/src/util/thread/thread_windows.c b/src/util/thread/thread_windows.c
index 9ea9ead..a58e1b1 100644
--- a/src/util/thread/thread_windows.c
+++ b/src/util/thread/thread_windows.c
@@ -2,11 +2,11 @@
NTSTATUS(__stdcall *NtDelayExecution)(BOOL Alertable, PLARGE_INTEGER DelayInterval);
-void aki_thread_sleep(aki_os_tstamp ts)
+void aki_thread_sleep(aki_os_tstamp delay)
{
- LARGE_INTEGER intr;
- intr.QuadPart = -1 * (s64)(ts * 1e7);
- NtDelayExecution(false, &intr);
+ LARGE_INTEGER li;
+ li.QuadPart = -(s64)(delay * 1e7L);
+ NtDelayExecution(false, &li);
}
void aki_thread_create(struct aki_thread *thread, aki_thread_func func, void *userdata)
diff --git a/src/util/timer/timer_windows.c b/src/util/timer/timer_windows.c
index 37a8fd8..007efed 100644
--- a/src/util/timer/timer_windows.c
+++ b/src/util/timer/timer_windows.c
@@ -8,7 +8,7 @@ f64 aki_get_tick(void)
{
LARGE_INTEGER result;
QueryPerformanceCounter(&result);
- return (result.QuadPart/(f64)performance_frequency.QuadPart);
+ return result.QuadPart / (f64)performance_frequency.QuadPart;
}
static SYSTEMTIME unix_epoch = {
@@ -35,5 +35,5 @@ u64 aki_get_timestamp(void)
.LowPart = result1.dwLowDateTime,
.HighPart = result1.dwHighDateTime
};
- return (li1.QuadPart - li0.QuadPart) / 10;
+ return (li1.QuadPart - li0.QuadPart) / 10L;
}