[Gd-chatter] r11638 - in trunk/libraries: layer packetizer
hannes at gwydiondylan.org
hannes at gwydiondylan.org
Fri Jan 18 23:36:42 CET 2008
Author: hannes
Date: Fri Jan 18 23:36:42 2008
New Revision: 11638
Modified:
trunk/libraries/layer/dhcp.dylan
trunk/libraries/packetizer/protocol-definer-macro.dylan
Log:
Job: 7299
fixes for enum fields
Modified: trunk/libraries/layer/dhcp.dylan
==============================================================================
--- trunk/libraries/layer/dhcp.dylan (original)
+++ trunk/libraries/layer/dhcp.dylan Fri Jan 18 23:36:42 2008
@@ -77,7 +77,7 @@
let server-option = find-option(state.offer, <dhcp-server-identifier-option>);
//XXX: somehow the #"dhcprequest" doesn't work here :/
let options = list(make(<dhcp-message-type-option>,
- message-type: 3), //#"dhcprequest"),
+ message-type: #"dhcprequest"),
make(<dhcp-requested-ip-address-option>,
requested-ip: state.offer.your-ip-address),
make(<dhcp-server-identifier-option>,
Modified: trunk/libraries/packetizer/protocol-definer-macro.dylan
==============================================================================
--- trunk/libraries/packetizer/protocol-definer-macro.dylan (original)
+++ trunk/libraries/packetizer/protocol-definer-macro.dylan Fri Jan 18 23:36:42 2008
@@ -38,17 +38,20 @@
let args = copy-sequence(key/value-pairs);
for (ele in fields)
if (instance?(ele, <enum-field>))
- let (key, pos)
+ let pos
= block(ret)
for (i :: <integer> from 0 below key/value-pairs.size by 2)
if (key/value-pairs[i] == ele.field-name)
- ret(values(key/value-pairs[i + 1], i + 1))
+ ret(i + 1);
end;
end;
end;
- if (key & instance?(key, <symbol>))
- //format-out("changed %= from %= to %=\n", ele.field-name, key, enum-field-symbol-to-int(ele, key));
- args[pos] := enum-field-symbol-to-int(ele, key);
+ if (pos)
+ let key = key/value-pairs[pos];
+ if (instance?(key, <symbol>))
+ //format-out("changed %= from %= to %=\n", ele.field-name, key, enum-field-symbol-to-int(ele, key));
+ args[pos] := enum-field-symbol-to-int(ele, key);
+ end;
end;
end;
end;
More information about the chatter
mailing list