git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added checking for lrand48/srand48.
[swftools.git]
/
src
/
bitio.c
diff --git
a/src/bitio.c
b/src/bitio.c
index
871fb80
..
417e7b5
100644
(file)
--- a/
src/bitio.c
+++ b/
src/bitio.c
@@
-106,7
+106,7
@@
s32 getsbits(int num)
return x;
}
return x;
}
-u16 readu8()
+u8 readu8()
{
u8 a;
input1(&a);
{
u8 a;
input1(&a);
@@
-116,13
+116,21
@@
u16 readu8()
u16 readu16()
{
u8 a,b;
u16 readu16()
{
u8 a,b;
- // I'm not using input2(&a) here because our input is
- // little endian.
input1(&a);
input1(&b);
return ((u16)b)*256+a;
}
input1(&a);
input1(&b);
return ((u16)b)*256+a;
}
+u32 readu32()
+{
+ u8 a,b,c,d;
+ input1(&a);
+ input1(&b);
+ input1(&c);
+ input1(&d);
+ return (((((u32)d)*256+(u32)c)*256+(u32)b)*256+(u32)a);
+}
+
void writer_init(struct writer_t*w, u8*data, int maxlength)
{
w->data = data;
void writer_init(struct writer_t*w, u8*data, int maxlength)
{
w->data = data;
@@
-150,6
+158,12
@@
void writer_writeu16(struct writer_t*w, u16 value)
writer_write(w, &value, 2);
}
writer_write(w, &value, 2);
}
+void writer_writeu32(struct writer_t*w, u32 value)
+{
+ writer_resetbits(w);
+ writer_write(w, &value, 4);
+}
+
void* writer_getpos(struct writer_t*w)
{
return &w->data[w->pos];
void* writer_getpos(struct writer_t*w)
{
return &w->data[w->pos];