#include "./bitio.h"
#include "./MD5.h"
+// memory allocation
+
+void* rfxalloc(int size)
+{
+ void*ptr;
+#ifdef HAVE_CALLOC
+ ptr = calloc(size);
+#else
+ ptr = malloc(size);
+ memset(ptr, 0, size);
+#endif
+ if(!ptr) {
+ fprintf(stderr, "FATAL: Out of memory\n");
+ /* TODO: we should send a signal, so that the debugger kicks in */
+ exit(1);
+ }
+ return ptr;
+}
+
+void rfxdealloc(void*ptr)
+{
+ free(ptr);
+}
+
// internal constants
#define MALLOC_SIZE 128
#define MEMSIZE(l) (((l/MALLOC_SIZE)+1)*MALLOC_SIZE)
-
// inline wrapper functions
TAG * swf_NextTag(TAG * t) { return t->next; }
t->data[t->len++] = a[1];
return 0;
}
+void swf_SetS16(TAG * t,int v)
+{
+ if(v>32767 || v<-32768) {
+ fprintf(stderr, "Warning: S16 overflow: %d\n", v);
+ }
+ swf_SetU16(t, (S16)v);
+}
int swf_SetU32(TAG * t,U32 v)
{ U8 a[4];