[Gd-chatter] r10983 - trunk/libraries/gui-sniffer
andreas at gwydiondylan.org
andreas at gwydiondylan.org
Wed Nov 22 00:00:08 CET 2006
Author: andreas
Date: Wed Nov 22 00:00:06 2006
New Revision: 10983
Modified:
trunk/libraries/gui-sniffer/gui-sniffer.dylan
trunk/libraries/gui-sniffer/hex-view.dylan
trunk/libraries/gui-sniffer/module.dylan
Log:
job: 7299
Fix hexdump in tree view.
Modified: trunk/libraries/gui-sniffer/gui-sniffer.dylan
==============================================================================
--- trunk/libraries/gui-sniffer/gui-sniffer.dylan (original)
+++ trunk/libraries/gui-sniffer/gui-sniffer.dylan Wed Nov 22 00:00:06 2006
@@ -48,33 +48,24 @@
end;
define method frame-children-generator (raw-frame :: <raw-frame>)
- let out = make(<string-stream>, direction: #"output");
- let hex = block()
- hexdump(out, raw-frame.data);
- stream-contents(out);
- cleanup
- close(out)
- end;
- let lines = split(hex, '\n');
- if (lines[0] = "")
- lines := copy-sequence(lines, start: 1)
- end;
+ let out = hexdump(raw-frame.data);
+ let lines = split(out, '\n');
if (lines[lines.size - 1] = "")
lines := copy-sequence(lines, end: lines.size - 1)
end;
- let start :: <integer> = 0;
- let length :: <integer> = 16 * 8;
- map(method(x)
- let rff = make(<raw-frame-element>,
- start: start,
- length: length,
- end: start + length,
- raw-frame: raw-frame,
- value: x);
- start := start + length;
- rff;
- end, lines)
+ let children = make(<stretchy-vector>);
+
+ for (line in lines, offset from 0 by 16 * 8)
+ let length = min(16 * 8, raw-frame.data.size * 8 - offset);
+ add!(children, make(<raw-frame-element>,
+ start: offset,
+ length: length,
+ end: offset + length,
+ raw-frame: raw-frame,
+ value: line));
+ end;
+ children;
end;
define method frame-children-generator (a-frame :: <header-frame>)
@@ -308,7 +299,6 @@
end;
define method compute-absolute-offset (frame :: type-union(<container-frame>, <raw-frame>), relative-to)
- format-out("%= %=\n", frame, relative-to);
if (frame.parent & frame ~= relative-to)
let ff = find-frame-field(frame.parent, frame);
compute-absolute-offset(ff, relative-to);
Modified: trunk/libraries/gui-sniffer/hex-view.dylan
==============================================================================
--- trunk/libraries/gui-sniffer/hex-view.dylan (original)
+++ trunk/libraries/gui-sniffer/hex-view.dylan Wed Nov 22 00:00:06 2006
@@ -5,32 +5,6 @@
integer-to-string(integer, base: 16, size: size)
end function hex;
-/*
-define method hexdump (sequence :: <sequence>) => (dump :: <string>)
- let stream = make(<string-stream>, direction: #"output");
- block()
- for (byte in sequence,
- index from 0)
- if(modulo(index, 16) == 0)
- format(stream, "%s ", hex(index, size: 4))
- end;
- format(stream, "%s", hex(byte, size: 2));
- if(modulo(index, 16) == 15
- | (index == sequence.size - 1 & sequence.size > 16))
- format(stream, "\n")
- elseif(modulo(index, 16) == 7)
- format(stream, " ");
- else
- format(stream, " ");
- end if;
- end for;
- stream-contents(stream);
- cleanup
- close(stream)
- end
-end method hexdump;
-*/
-
define method hexdump (sequence :: <sequence>) => (dump :: <string>)
let stream = make(<string-stream>, direction: #"output");
block()
Modified: trunk/libraries/gui-sniffer/module.dylan
==============================================================================
--- trunk/libraries/gui-sniffer/module.dylan (original)
+++ trunk/libraries/gui-sniffer/module.dylan Wed Nov 22 00:00:06 2006
@@ -10,7 +10,7 @@
use deuce;
use deuce-internals;
- export show-hexdump, set-highlight;
+ export show-hexdump, set-highlight, hexdump;
end;
define module gui-sniffer
@@ -26,7 +26,7 @@
use date;
use file-system;
use operating-system;
- use packetizer;
+ use packetizer, exclude: { hexdump };
use packet-filter;
use network-flow;
use flow;
More information about the chatter
mailing list