#include <string.h>
#include <memory.h>
#include <fcntl.h>
+#include <errno.h>
#include "../config.h"
reader->pos += ret;
return ret;
}
+static void reader_fileread_dealloc(reader_t*r)
+{
+ memset(r, 0, sizeof(reader_t));
+}
void reader_init_filereader(reader_t*r, int handle)
{
r->read = reader_fileread;
+ r->dealloc = reader_fileread_dealloc;
r->internal = (void*)handle;
r->type = READER_TYPE_FILE;
r->mybyte = 0;
msg,
ret,
zs->msg?zs->msg:"unknown");
- perror("errno:");
+ if(errno) perror("errno:");
exit(1);
}
#endif
}
float reader_readFloat(reader_t*r)
{
+ float f;
+ r->read(r, &f, 4);
+ return f;
+
U8 b1=0,b2=0,b3=0,b4=0;
r->read(r, &b1, 1);
r->read(r, &b2, 1);
}
void writer_writeFloat(writer_t*w, float f)
{
- unsigned long v = *(unsigned long*)&f;
+ w->write(w, &f, 4);
+ return;
+
+ unsigned v = *(unsigned*)&f;
unsigned char b1 = v;
unsigned char b2 = v>>8;
unsigned char b3 = v>>16;