Re: [Qemu-devel] [PATCH v2 1/4] ui: Use g_new() & friends where that makes obvious sense

2015-11-03 Thread Michael Tokarev
29.10.2015 18:55, Markus Armbruster wrote:
> g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
> for two reasons.  One, it catches multiplication overflowing size_t.
> Two, it returns T * rather than void *, which lets the compiler catch
> more type errors.
> 
> This commit only touches allocations with size arguments of the form
> sizeof(T).  Same Coccinelle semantic patch as in commit b45c03f.
> 
> Signed-off-by: Markus Armbruster 
> Reviewed-by: Eric Blake 
> ---
>  ui/console.c  | 2 +-
>  ui/curses.c   | 2 +-
>  ui/input-legacy.c | 4 ++--
>  ui/keymaps.c  | 2 +-
>  ui/sdl.c  | 2 +-
>  ui/vnc-jobs.c | 6 +++---
>  ui/vnc.c  | 6 +++---
>  7 files changed, 12 insertions(+), 12 deletions(-)

ui/vnc.c code has been modified by Eric Blake meanwhile,
in 2d32addae70987521578d8bb27c6b3f52cdcbdcb "sockets:
Convert to new qapi union layout".

The patch applies for other files however.

Thanks,

/mjt



Re: [Qemu-devel] [PATCH v2 1/4] ui: Use g_new() & friends where that makes obvious sense

2015-11-03 Thread Markus Armbruster
Michael Tokarev  writes:

> 29.10.2015 18:55, Markus Armbruster wrote:
>> g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
>> for two reasons.  One, it catches multiplication overflowing size_t.
>> Two, it returns T * rather than void *, which lets the compiler catch
>> more type errors.
>> 
>> This commit only touches allocations with size arguments of the form
>> sizeof(T).  Same Coccinelle semantic patch as in commit b45c03f.
>> 
>> Signed-off-by: Markus Armbruster 
>> Reviewed-by: Eric Blake 
>> ---
>>  ui/console.c  | 2 +-
>>  ui/curses.c   | 2 +-
>>  ui/input-legacy.c | 4 ++--
>>  ui/keymaps.c  | 2 +-
>>  ui/sdl.c  | 2 +-
>>  ui/vnc-jobs.c | 6 +++---
>>  ui/vnc.c  | 6 +++---
>>  7 files changed, 12 insertions(+), 12 deletions(-)
>
> ui/vnc.c code has been modified by Eric Blake meanwhile,
> in 2d32addae70987521578d8bb27c6b3f52cdcbdcb "sockets:
> Convert to new qapi union layout".
>
> The patch applies for other files however.

I can regenerate this patch easily.  Would you be willing to replace it
in your tree by a v3?



[Qemu-devel] [PATCH v2 1/4] ui: Use g_new() & friends where that makes obvious sense

2015-10-29 Thread Markus Armbruster
g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
for two reasons.  One, it catches multiplication overflowing size_t.
Two, it returns T * rather than void *, which lets the compiler catch
more type errors.

This commit only touches allocations with size arguments of the form
sizeof(T).  Same Coccinelle semantic patch as in commit b45c03f.

Signed-off-by: Markus Armbruster 
Reviewed-by: Eric Blake 
---
 ui/console.c  | 2 +-
 ui/curses.c   | 2 +-
 ui/input-legacy.c | 4 ++--
 ui/keymaps.c  | 2 +-
 ui/sdl.c  | 2 +-
 ui/vnc-jobs.c | 6 +++---
 ui/vnc.c  | 6 +++---
 7 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/ui/console.c b/ui/console.c
index cf649b2..b862cfb 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -450,7 +450,7 @@ static void text_console_resize(QemuConsole *s)
 if (s->width < w1)
 w1 = s->width;
 
-cells = g_malloc(s->width * s->total_height * sizeof(TextCell));
+cells = g_new(TextCell, s->width * s->total_height);
 for(y = 0; y < s->total_height; y++) {
 c = [y * s->width];
 if (w1 > 0) {
diff --git a/ui/curses.c b/ui/curses.c
index 8edb038..db83188 100644
--- a/ui/curses.c
+++ b/ui/curses.c
@@ -382,7 +382,7 @@ void curses_display_init(DisplayState *ds, int full_screen)
 
 curses_winch_init();
 
-dcl = (DisplayChangeListener *) g_malloc0(sizeof(DisplayChangeListener));
+dcl = g_new0(DisplayChangeListener, 1);
 dcl->ops = _ops;
 register_displaychangelistener(dcl);
 
diff --git a/ui/input-legacy.c b/ui/input-legacy.c
index e50f296..c5f173d 100644
--- a/ui/input-legacy.c
+++ b/ui/input-legacy.c
@@ -205,7 +205,7 @@ QEMUPutMouseEntry 
*qemu_add_mouse_event_handler(QEMUPutMouseEvent *func,
 {
 QEMUPutMouseEntry *s;
 
-s = g_malloc0(sizeof(QEMUPutMouseEntry));
+s = g_new0(QEMUPutMouseEntry, 1);
 
 s->qemu_put_mouse_event = func;
 s->qemu_put_mouse_event_opaque = opaque;
@@ -239,7 +239,7 @@ QEMUPutLEDEntry *qemu_add_led_event_handler(QEMUPutLEDEvent 
*func,
 {
 QEMUPutLEDEntry *s;
 
-s = g_malloc0(sizeof(QEMUPutLEDEntry));
+s = g_new0(QEMUPutLEDEntry, 1);
 
 s->put_led = func;
 s->opaque = opaque;
diff --git a/ui/keymaps.c b/ui/keymaps.c
index 49410ae..1b9ba3f 100644
--- a/ui/keymaps.c
+++ b/ui/keymaps.c
@@ -109,7 +109,7 @@ static kbd_layout_t *parse_keyboard_layout(const 
name2keysym_t *table,
 }
 
 if (!k) {
-k = g_malloc0(sizeof(kbd_layout_t));
+k = g_new0(kbd_layout_t, 1);
 }
 
 for(;;) {
diff --git a/ui/sdl.c b/ui/sdl.c
index 3be2910..570cb99 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -985,7 +985,7 @@ void sdl_display_init(DisplayState *ds, int full_screen, 
int no_frame)
 sdl_grab_start();
 }
 
-dcl = g_malloc0(sizeof(DisplayChangeListener));
+dcl = g_new0(DisplayChangeListener, 1);
 dcl->ops = _ops;
 register_displaychangelistener(dcl);
 
diff --git a/ui/vnc-jobs.c b/ui/vnc-jobs.c
index 22c9abc..9512b87 100644
--- a/ui/vnc-jobs.c
+++ b/ui/vnc-jobs.c
@@ -79,7 +79,7 @@ static void vnc_unlock_queue(VncJobQueue *queue)
 
 VncJob *vnc_job_new(VncState *vs)
 {
-VncJob *job = g_malloc0(sizeof(VncJob));
+VncJob *job = g_new0(VncJob, 1);
 
 job->vs = vs;
 vnc_lock_queue(queue);
@@ -90,7 +90,7 @@ VncJob *vnc_job_new(VncState *vs)
 
 int vnc_job_add_rect(VncJob *job, int x, int y, int w, int h)
 {
-VncRectEntry *entry = g_malloc0(sizeof(VncRectEntry));
+VncRectEntry *entry = g_new0(VncRectEntry, 1);
 
 entry->rect.x = x;
 entry->rect.y = y;
@@ -298,7 +298,7 @@ disconnected:
 
 static VncJobQueue *vnc_queue_init(void)
 {
-VncJobQueue *queue = g_malloc0(sizeof(VncJobQueue));
+VncJobQueue *queue = g_new0(VncJobQueue, 1);
 
 qemu_cond_init(>cond);
 qemu_mutex_init(>mutex);
diff --git a/ui/vnc.c b/ui/vnc.c
index faff054..2725934 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -173,7 +173,7 @@ static VncBasicInfo *vnc_basic_info_get(struct 
sockaddr_storage *sa,
 return NULL;
 }
 
-info = g_malloc0(sizeof(VncBasicInfo));
+info = g_new0(VncBasicInfo, 1);
 info->host = g_strdup(host);
 info->service = g_strdup(serv);
 info->family = inet_netfamily(sa->ss_family);
@@ -2956,7 +2956,7 @@ static void vnc_refresh(DisplayChangeListener *dcl)
 static void vnc_connect(VncDisplay *vd, int csock,
 bool skipauth, bool websocket)
 {
-VncState *vs = g_malloc0(sizeof(VncState));
+VncState *vs = g_new0(VncState, 1);
 int i;
 
 vs->csock = csock;
@@ -2979,7 +2979,7 @@ static void vnc_connect(VncDisplay *vd, int csock,
 
 vs->lossy_rect = g_malloc0(VNC_STAT_ROWS * sizeof (*vs->lossy_rect));
 for (i = 0; i < VNC_STAT_ROWS; ++i) {
-vs->lossy_rect[i] = g_malloc0(VNC_STAT_COLS * sizeof (uint8_t));
+vs->lossy_rect[i] = g_new0(uint8_t, VNC_STAT_COLS);
 }
 
 VNC_DEBUG("New client on socket %d\n", csock);
-- 
2.4.3