git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed merge conflict
[swftools.git]
/
lib
/
as3
/
mkabc.py
diff --git
a/lib/as3/mkabc.py
b/lib/as3/mkabc.py
index
82283ab
..
029ebfc
100644
(file)
--- a/
lib/as3/mkabc.py
+++ b/
lib/as3/mkabc.py
@@
-43,7
+43,7
@@
for line in fi.readlines():
op,name,params = m.group(1),m.group(2),m.group(3)
iterations=1
op,name,params = m.group(1),m.group(2),m.group(3)
iterations=1
- if "2" in params:
+ if "2" in params or "s" in params:
iterations=2
for iteration in range(iterations):
iterations=2
for iteration in range(iterations):
@@
-62,7
+62,12
@@
for line in fi.readlines():
else:
type,pname="multiname_t*","name"
elif c == "s":
else:
type,pname="multiname_t*","name"
elif c == "s":
- type,pname="char*","s"
+ if iteration==0:
+ type,pname="char*","name"
+ else:
+ type,pname="string_t*","s"
+ elif c == "N":
+ type,pname="namespace_t*","ns"
elif c in "nubs":
type,pname="int","v"
elif c == "m":
elif c in "nubs":
type,pname="int","v"
elif c == "m":
@@
-113,6
+118,8
@@
for line in fi.readlines():
foc.write(" self->data[%d] = (void*)(ptroff_t)%s;\n" % (i,pname))
elif(c in "IU"):
foc.write(" self->data[%d] = (void*)(ptroff_t)%s;\n" % (i,pname))
foc.write(" self->data[%d] = (void*)(ptroff_t)%s;\n" % (i,pname))
elif(c in "IU"):
foc.write(" self->data[%d] = (void*)(ptroff_t)%s;\n" % (i,pname))
+ elif(c in "N"):
+ foc.write(" self->data[%d] = namespace_clone(%s);\n" % (i,pname))
elif(c in "f"):
foc.write(" double*fp = malloc(sizeof(double));\n")
foc.write(" *fp = %s;\n" % (pname))
elif(c in "f"):
foc.write(" double*fp = malloc(sizeof(double));\n")
foc.write(" *fp = %s;\n" % (pname))
@@
-120,7
+127,10
@@
for line in fi.readlines():
elif(c == "b"):
foc.write(" self->data[%d] = (void*)(ptroff_t)%s;\n" % (i,pname))
elif(c == "s"):
elif(c == "b"):
foc.write(" self->data[%d] = (void*)(ptroff_t)%s;\n" % (i,pname))
elif(c == "s"):
- foc.write(" self->data[%d] = strdup(%s);\n" % (i,pname))
+ if iteration==0:
+ foc.write(" self->data[%d] = string_new4(%s);\n" % (i,pname))
+ else:
+ foc.write(" self->data[%d] = string_dup3(%s);\n" % (i,pname))
elif(c == "m"):
foc.write(" self->data[%d] = %s;\n" % (i,pname))
elif(c == "c"):
elif(c == "m"):
foc.write(" self->data[%d] = %s;\n" % (i,pname))
elif(c == "c"):