@@ -66,20 +66,25 @@ func serveHtml(c *gocore.Program) {
66
66
end = n * typ .Size
67
67
}
68
68
for i := end ; i < size ; i += c .Process ().PtrSize () {
69
- fmt .Fprintf (w , "<tr><td>f%d</td><td colspan=\" 2\" >?</td><td><pre>" , i )
70
- for j := int64 (0 ); j < c .Process ().PtrSize (); j ++ {
71
- fmt .Fprintf (w , "%02x " , c .Process ().ReadUint8 (addr .Add (i + j )))
72
- }
73
- fmt .Fprintf (w , "</pre></td><td><pre>" )
74
- for j := int64 (0 ); j < c .Process ().PtrSize (); j ++ {
75
- r := c .Process ().ReadUint8 (addr .Add (i + j ))
76
- if r >= 32 && r <= 126 {
77
- fmt .Fprintf (w , "%s" , html .EscapeString (string (rune (r ))))
78
- } else {
79
- fmt .Fprintf (w , "." )
69
+ fmt .Fprintf (w , "<tr><td>f%d</td><td colspan=\" 2\" >?</td>" , i )
70
+ if c .IsPtr (addr .Add (i )) {
71
+ fmt .Fprintf (w , "<td>%s</td>" , htmlPointer (c , c .Process ().ReadPtr (addr .Add (i ))))
72
+ } else {
73
+ fmt .Fprintf (w , "<td><pre>" )
74
+ for j := int64 (0 ); j < c .Process ().PtrSize (); j ++ {
75
+ fmt .Fprintf (w , "%02x " , c .Process ().ReadUint8 (addr .Add (i + j )))
76
+ }
77
+ fmt .Fprintf (w , "</pre></td><td><pre>" )
78
+ for j := int64 (0 ); j < c .Process ().PtrSize (); j ++ {
79
+ r := c .Process ().ReadUint8 (addr .Add (i + j ))
80
+ if r >= 32 && r <= 126 {
81
+ fmt .Fprintf (w , "%s" , html .EscapeString (string (rune (r ))))
82
+ } else {
83
+ fmt .Fprintf (w , "." )
84
+ }
80
85
}
86
+ fmt .Fprintf (w , "</pre></td>" )
81
87
}
82
- fmt .Fprintf (w , "</pre></td>" )
83
88
fmt .Fprintf (w , "</tr>\n " )
84
89
}
85
90
fmt .Fprintf (w , "</table>\n " )
0 commit comments