Age | Commit message (Collapse) | Author | Files | Lines |
|
The main difference in this new version is the extra data structure generated
between the IDL data structure and the NDR parser:
IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc }
This makes the ndr_parser.pm internals much more sane.
Other changes include:
- Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags.
- Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc..
- Use if() {} rather then if () goto foo; everywhere
- NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC
- By default, top level pointers are now "ref" (as is the default in
most other IDL compilers). This can be overridden using the
default_pointer_top() property.
- initial work on new ethereal parser generators by Alan DeKok and me
- pidl now writes errors in the standard format used by compilers, which
is parsable by most editors
- ability to warn about the fact that pidl extension(s) have been used,
useful for making sure IDL files work with other IDL compilers.
oh, and there's probably some other things I can't think of right now..
(This used to be commit 13cf227615f6b9e0e5fa62e59197024410254f01)
|
|
I think I now understand how it works:-)
metze
(This used to be commit f8add2e66a56896d9bb18991091e1b17c29910b1)
|
|
to make things more clear
metze
(This used to be commit adefeeb4f362dba06cddacf6f58194ef1f967ec9)
|
|
metze
(This used to be commit 29d898a338e20c76a2270557b0c401a9672af094)
|
|
array can now only be :
type *name[];
rather then :
type *name;
which was supported in the past. Warnings will be given when the first
syntax is used. Reasons for this change in behaviour include improved
readability and the fact that the second format makes dealing with multiple
levels of pointers harder.
(This used to be commit a416de5825c540fd3741731c4be05e9a659a6fdb)
|
|
is assumed to be "ptr" if not specified (just like midl).
The validator will warn when "ptr" is used at the moment, because
pidl only supports unique, ref and relative at the moment.
(This used to be commit 31bed62a9a6f7830f523d509b67970648d40aaef)
|
|
(This used to be commit 1d1a9c11ee681540ef8a1029409bb24fc26f976c)
|
|
is less efficient, but I really doubt that matters.
- use enum in epmapper.idl for protocol type
- added support for "enum8bit" flag, used in epmapper.idl
(This used to be commit 1a24a50384b7f588844cd012f1218ca242ca4507)
|
|
NOTE:
[u]int64 uses 4 Byte alignment
and HYPER_T uses 8 Byte alignment
metze
(This used to be commit 717454eb2fd2bf90e67074acefdae5304cd7433f)
|
|
metze
(This used to be commit 717f7c3555ecf6265b5b30783f3214f4ca3b6c00)
|
|
metze
(This used to be commit 87a92d3d5c7c2ab0bc07a9fb101022b3db1d637b)
|
|
metze
(This used to be commit 56c66f4a090b1efca011fc2fc9880c4d93da164c)
|
|
metze
(This used to be commit 44f168c44de908fdf38b39aae8bf10e80206410a)
|
|
metze
(This used to be commit 42b9f0bd476f2175e856ea8f79577eb9eda905e2)
|
|
service
metze
(This used to be commit 07803f28863db72a7691766da912878459eec70a)
|