git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
zero class_signature when allocing
[swftools.git]
/
lib
/
as3
/
registry.c
diff --git
a/lib/as3/registry.c
b/lib/as3/registry.c
index
637f67e
..
1e2482b
100644
(file)
--- a/
lib/as3/registry.c
+++ b/
lib/as3/registry.c
@@
-32,6
+32,8
@@
static dict_t*classes=0;
char class_signature_equals(class_signature_t*c1, class_signature_t*c2)
{
char class_signature_equals(class_signature_t*c1, class_signature_t*c2)
{
+ if(!!c1 != !!c2)
+ return 0;
/* notice: access right is *not* respected */
if(!strcmp(c1->name, c2->name) &&
!strcmp(c1->package, c2->package)) {
/* notice: access right is *not* respected */
if(!strcmp(c1->name, c2->name) &&
!strcmp(c1->package, c2->package)) {
@@
-80,7
+82,7
@@
type_t function_signature_type = {
class_signature_t* class_signature_register(int access, char*package, char*name)
{
class_signature_t* class_signature_register(int access, char*package, char*name)
{
- class_signature_t*c = malloc(sizeof(class_signature_t));
+ NEW(class_signature_t,c);
c->access = access;
c->package = package;
c->name = name;
c->access = access;
c->package = package;
c->name = name;
@@
-97,8
+99,6
@@
void registry_init()
class_signature_t* registry_safefindclass(const char*package, const char*name)
{
class_signature_t*c = registry_findclass(package, name);
class_signature_t* registry_safefindclass(const char*package, const char*name)
{
class_signature_t*c = registry_findclass(package, name);
- if(!c)
- printf("%s.%s\n", package, name);
assert(c);
return c;
}
assert(c);
return c;
}
@@
-109,6
+109,8
@@
class_signature_t* registry_findclass(const char*package, const char*name)
tmp.package = package;
tmp.name = name;
class_signature_t* c = (class_signature_t*)dict_lookup(classes, &tmp);
tmp.package = package;
tmp.name = name;
class_signature_t* c = (class_signature_t*)dict_lookup(classes, &tmp);
+ /*if(c)
+ printf("%s.%s->%08x (%s.%s)\n", package, name, c, c->package, c->name);*/
return c;
}
void registry_fill_multiname(multiname_t*m, namespace_t*n, class_signature_t*c)
return c;
}
void registry_fill_multiname(multiname_t*m, namespace_t*n, class_signature_t*c)
@@
-142,7
+144,7
@@
class_signature_t* registry_getMovieClip() {return registry_safefindclass("flash
// ----------------------- builtin dummy types -------------------------
class_signature_t nullclass = {
// ----------------------- builtin dummy types -------------------------
class_signature_t nullclass = {
- ACCESS_PACKAGE, "", "null", 0, 0, 0,
+ ACCESS_PACKAGE, 0, "", "null", 0, 0, 0,
};
class_signature_t* registry_getnullclass() {
return &nullclass;
};
class_signature_t* registry_getnullclass() {
return &nullclass;