On 01/12/2011 12:07 AM, Amit Shah wrote:
On (Tue) Jan 11 2011 [17:13:15], Blue Swirl wrote:
+static QemuChrHandlers gdb_handlers = {
+    .fd_can_read = gdb_chr_can_receive,
+    .fd_read = gdb_chr_receive,
+    .fd_event = gdb_chr_event,
+};

These structures should be const.

Hm, I had that but looks like it got lost in some rebase.  Added again.

@@ -190,15 +190,19 @@ void qemu_chr_send_event(CharDriverState *s, int event)
         s->chr_send_event(s, event);
  }

+static QemuChrHandlers null_handlers = {
+    /* All handlers are initialised to NULL */
+};
+
  void qemu_chr_add_handlers(CharDriverState *s,
-                           IOCanReadHandler *fd_can_read,
-                           IOReadHandler *fd_read,
-                           IOEventHandler *fd_event,
-                           void *opaque)
-{
-    s->chr_can_read = fd_can_read;
-    s->chr_read = fd_read;
-    s->chr_event = fd_event;
+                           QemuChrHandlers *handlers, void *opaque)
+{

Here we could also check if (!s) and return if so. This would simplify
the callers a bit.

Simplified in what way?

I assume for reducing the need to have to check s->chr != NULL everytime beforehand. It's safer and would save a lot on repetitive code as well.


                Amit



Reply via email to