[Gd-chatter] r11738 - in trunk/libraries: packetizer protocols
andreas at gwydiondylan.org
andreas at gwydiondylan.org
Thu Mar 20 02:38:25 CET 2008
Author: andreas
Date: Thu Mar 20 02:38:24 2008
New Revision: 11738
Modified:
trunk/libraries/packetizer/protocol-definer-macro.dylan
trunk/libraries/protocols/ieee80211.dylan
Log:
Job: 7299
* fix parsing of information fields in ieee802.11
Modified: trunk/libraries/packetizer/protocol-definer-macro.dylan
==============================================================================
--- trunk/libraries/packetizer/protocol-definer-macro.dylan (original)
+++ trunk/libraries/packetizer/protocol-definer-macro.dylan Thu Mar 20 02:38:24 2008
@@ -484,13 +484,17 @@
define method parse-frame (frame-type :: subclass(<variably-typed-container-frame>),
packet :: <byte-sequence>,
#key parent :: false-or(<container-frame>),
- default = <raw-frame>)
+ default)
let superprotocol-frame = next-method();
let real-type = lookup-layer(frame-type, layer-magic(superprotocol-frame));
if (real-type & (real-type ~== frame-type))
parse-frame(real-type, packet, parent: parent);
else
- superprotocol-frame
+ if (default)
+ parse-frame(default, packet, parent: parent);
+ else
+ superprotocol-frame
+ end;
end;
end;
Modified: trunk/libraries/protocols/ieee80211.dylan
==============================================================================
--- trunk/libraries/protocols/ieee80211.dylan (original)
+++ trunk/libraries/protocols/ieee80211.dylan Thu Mar 20 02:38:24 2008
@@ -85,11 +85,8 @@
packet :: <byte-sequence>,
#next next-method,
#key parent)
- block()
- next-method(frame, packet, parent: parent, default: #f);
- exception (e :: <error>)
- parse-frame(<ieee80211-reserved-field>, packet, parent: parent);
- end;
+ next-method(frame, packet, parent: parent,
+ default: <ieee80211-reserved-field>);
end;
define protocol ieee80211-raw-information-element (ieee80211-information-element)
More information about the chatter
mailing list