git.asbjorn.biz
/
swftools.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
509560c
)
bus error/big endian fixes
author
kramm
<kramm>
Mon, 7 Jan 2002 21:23:55 +0000
(21:23 +0000)
committer
kramm
<kramm>
Mon, 7 Jan 2002 21:23:55 +0000
(21:23 +0000)
src/bitio.c
patch
|
blob
|
history
src/swfextract.c
patch
|
blob
|
history
diff --git
a/src/bitio.c
b/src/bitio.c
index
8a494b2
..
eb7958c
100644
(file)
--- a/
src/bitio.c
+++ b/
src/bitio.c
@@
-33,12
+33,12
@@
void reader_input1(struct reader_t*r, void*target)
}
void reader_input2(struct reader_t*r, void*target)
{
}
void reader_input2(struct reader_t*r, void*target)
{
- *(unsigned short int*)target = *(unsigned short int*)&r->data[r->datapos];
+ memcpy(target,&r->data[r->datapos],2);
r->datapos += 2;
}
void reader_input4(struct reader_t*r, void*target)
{
r->datapos += 2;
}
void reader_input4(struct reader_t*r, void*target)
{
- *(unsigned int*)target = *(unsigned int*)&r->data[r->datapos];
+ memcpy(target,&r->data[r->datapos],4);
r->datapos += 4;
}
uchar*reader_getinputpos(struct reader_t*r)
r->datapos += 4;
}
uchar*reader_getinputpos(struct reader_t*r)
diff --git
a/src/swfextract.c
b/src/swfextract.c
index
50a4f75
..
1e1f204
100644
(file)
--- a/
src/swfextract.c
+++ b/
src/swfextract.c
@@
-165,13
+165,16
@@
void enumerateIDs(TAG*tag, void(*callback)(void*))
if(tag->len>=64) {
len += 6;
data = (U8*)malloc(len);
if(tag->len>=64) {
len += 6;
data = (U8*)malloc(len);
- *(U16*)data = (tag->id<<6)+63;
- *(U32*)&data[2] = tag->len;
+ *(U16*)data = SWAP16((tag->id<<6)+63);
+ *(U8*)&data[2] = tag->len;
+ *(U8*)&data[3] = tag->len>>8;
+ *(U8*)&data[4] = tag->len>>16;
+ *(U8*)&data[5] = tag->len>>24;
memcpy(&data[6], tag->data, tag->len);
} else {
len += 2;
data = (U8*)malloc(len);
memcpy(&data[6], tag->data, tag->len);
} else {
len += 2;
data = (U8*)malloc(len);
- *(U16*)data = (tag->id<<6)+tag->len;
+ *(U16*)data = SWAP16((tag->id<<6)+tag->len);
memcpy(&data[2], tag->data, tag->len);
}
map_ids_mem(data, len, callback);
memcpy(&data[2], tag->data, tag->len);
}
map_ids_mem(data, len, callback);