Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: Didn\'t find {"length":"ulong","IfInde":"ulong"} in TypeMap #1

Open
scruel opened this issue Aug 11, 2021 · 2 comments
Open

Comments

@scruel
Copy link

scruel commented Aug 11, 2021

Following code got this error:

var IP_ADAPTER_ADDRESSES = {
    union: {
        alignment: 'ulong',
        'struct': {
            length: 'ulong',
            IfInde: 'ulong',
        },
    },
    next: 'pointer',
    adapterName: 'pointer',
    ...
}

...
var test = new Struct(IP_ADAPTER_ADDRESSES, args[3])
...
@scruel
Copy link
Author

scruel commented Aug 11, 2021

Solved this issue by flowing code(no time for creating PR), but still, I could get any info by parsing the pointer object.

    var base_ptr_size = 0;
    for (var member in structInfo) {
        if (member == "union") {
            var union = structInfo[member];
            for (var union_member in union) {
                var union_member_type = union[union_member];
                if (union_member == "struct") {
                    var struct = structInfo[union_member];
                    for (var struct_member in struct) {
                        var struct_member_type = struct[struct_member];
                        CreateGetterSetter(this, struct_member, struct_member_type, base_ptr_size);
                        base_ptr_size += SizeOfType(struct_member_type);
                    }
                } else {
                    CreateGetterSetter(this, union_member, union_member_type, base_ptr_size);
                    base_ptr_size += SizeOfType(union_member_type);
                }
            }
        } else {
            CreateGetterSetter(this, member, structInfo[member], base_ptr_size);
            base_ptr_size += SizeOfType(structInfo[member]);
        }
    }

@scruel
Copy link
Author

scruel commented Aug 11, 2021

IP_ADAPTER_ADDRESSES is too difficult to parse via this function...

@scruel scruel closed this as completed Aug 11, 2021
@scruel scruel reopened this Aug 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant