void *util_memory_a(unsigned int byte, unsigned int line, const char *file) {
struct memblock_t *info = malloc(sizeof(struct memblock_t) + byte);
- void *data =(void*)((uintptr_t)info+sizeof(struct memblock_t));
+ void *data =(void*)((unsigned char*)info+sizeof(struct memblock_t));
if (!data) return NULL;
info->line = line;
info->byte = byte;
void *data = NULL;
struct memblock_t *info = NULL;
if (!ptrn) return;
- data = (void*)((uintptr_t)ptrn-sizeof(struct memblock_t));
+ data = (void*)((unsigned char *)ptrn-sizeof(struct memblock_t));
info = (struct memblock_t*)data;
util_debug("MEM", "released: % 8u (bytes) address 0x%08X @ %s:%u\n", info->byte, data, file, line);
if (!lineptr || !n || !stream)
return -1;
if (!*lineptr) {
- if (!(*lineptr = mem_a((*n=64))))
+ if (!(*lineptr = (char*)mem_a((*n=64))))
return -1;
}
int c = getc(stream);
if (chr < 2) {
- char *tmp = mem_a((*n+=(*n>16)?*n:64));
+ char *tmp = (char*)mem_a((*n+=(*n>16)?*n:64));
if (!tmp)
return -1;
+ memcpy(tmp, *lineptr, pos - *lineptr);
chr = *n + *lineptr - pos;
- strcpy(tmp,*lineptr);
if (!(*lineptr = tmp)) {
mem_d (tmp);
return -1;
*out = 0;
return sz-1;
}
+
+FILE *util_fopen(const char *filename, const char *mode)
+{
+#ifdef WIN32
+ FILE *out;
+ if (fopen_s(&out, file, mode) != 0)
+ return NULL;
+ return out;
+#else
+ return fopen(file, mode);
+#endif
+}
+