[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